Потому что
пятница, 27 января 2012 г.
решить задачу методом крамера бесплатно
метод Крамера
Это способ решения квадратных систем линейных алгебраических уравнений с ненулевым определителем основной матрицы.
среда, 12 января 2011 г.
последовательность 2,4,7,11,16,22
встретилась несложная задачка в сети, нужно для данной последовательности найти следующее число
давайте посмотрим чем же отличаются члены последовательности друг от друга
второй от первого 4-2 = 2
третий от второго 7-4 = 3
четвертый от третьего 11-7=4
пятый от четвертого 16-11=5
шестой от пятого 22-16=6
и что же мы видим? разница между числами увеличивается на 1!
т.е. следующее после 22 число должно быть увеличено на 7! и это 29! ура!
давайте посмотрим чем же отличаются члены последовательности друг от друга
второй от первого 4-2 = 2
третий от второго 7-4 = 3
четвертый от третьего 11-7=4
пятый от четвертого 16-11=5
шестой от пятого 22-16=6
и что же мы видим? разница между числами увеличивается на 1!
т.е. следующее после 22 число должно быть увеличено на 7! и это 29! ура!
найти сумму цифр числа
когда стоит такая задача следует наверное уточнить в какой системе счисления оно представлено,
например число 15 в двоичной системе представляет собой 1111, и соотвтественно складывать нужно 1+1+1+1 = 4, что согласитесь не одно и тоже если бы мы сладывали 1+5=6 в дестятичной...
но так как наверняка(!) подразумеваеся десятичная система, к которой мы так все привыкли, то задание сводится к разделению числа на разряды, как то
156 = 1 + 5 + 6
как же нам получить эти 1, 5 и 6?
оказывается - очень просто! незабываем о том что система счисления по основанию 10, а это значит, что если поделить наше 156 на 10 мы получим целую часть и остаток от деления
156 делим на десять - целая часть 15, а остаток 6 (вот оно наше первое число!! только с конца)
теперь делим целую часть снова на 10 (основание системы счисления)
15 делим на десять - целая часть 1, а остаток 5 (вот оно наше второе число!!)
и так продолжаем делить пока есть что делить
1 делим на десять - целая часть... а ее уже нету! т.е. 0 (для нас это сигнал, что нужно заканчивать деление), а остаток 1 (наше последнее число!!!)
осталось лишь все сложижить 6 + 5 + 1 и получить искомую сумму 12
ну а теперь несколько слов, о том как это реализовать в том или ином языке программирования.
в каждом языке на сколько мне известно существуют специальные операторы для нахождения целого от деления или остатка (так называемое деление по модулю)
ну скажем С\С++
int n = 156;
int ostatok = 156 % 10; // тут будет 6
n = n / 10; //тут будет 15
ну и вот такой кусочек кода подсчитает сумму
int summa = 0;
int n = 156;
while (n)
{
summa += n % 10;
n = n / 10;
}
printf("summa: %d\n", summa); //вывод на экран
или как это сделать на javascript (js)
function getSum(var n)
{
var sum = 0;
while (n)
{
sum += n % 10;
n = Math.floor(n / 10); //берем целую часть от деления, т.е .округляем до меньшего
}
return sum;
}
например число 15 в двоичной системе представляет собой 1111, и соотвтественно складывать нужно 1+1+1+1 = 4, что согласитесь не одно и тоже если бы мы сладывали 1+5=6 в дестятичной...
но так как наверняка(!) подразумеваеся десятичная система, к которой мы так все привыкли, то задание сводится к разделению числа на разряды, как то
156 = 1 + 5 + 6
как же нам получить эти 1, 5 и 6?
оказывается - очень просто! незабываем о том что система счисления по основанию 10, а это значит, что если поделить наше 156 на 10 мы получим целую часть и остаток от деления
156 делим на десять - целая часть 15, а остаток 6 (вот оно наше первое число!! только с конца)
теперь делим целую часть снова на 10 (основание системы счисления)
15 делим на десять - целая часть 1, а остаток 5 (вот оно наше второе число!!)
и так продолжаем делить пока есть что делить
1 делим на десять - целая часть... а ее уже нету! т.е. 0 (для нас это сигнал, что нужно заканчивать деление), а остаток 1 (наше последнее число!!!)
осталось лишь все сложижить 6 + 5 + 1 и получить искомую сумму 12
ну а теперь несколько слов, о том как это реализовать в том или ином языке программирования.
в каждом языке на сколько мне известно существуют специальные операторы для нахождения целого от деления или остатка (так называемое деление по модулю)
ну скажем С\С++
int n = 156;
int ostatok = 156 % 10; // тут будет 6
n = n / 10; //тут будет 15
ну и вот такой кусочек кода подсчитает сумму
int summa = 0;
int n = 156;
while (n)
{
summa += n % 10;
n = n / 10;
}
printf("summa: %d\n", summa); //вывод на экран
или как это сделать на javascript (js)
function getSum(var n)
{
var sum = 0;
while (n)
{
sum += n % 10;
n = Math.floor(n / 10); //берем целую часть от деления, т.е .округляем до меньшего
}
return sum;
}
мы о чем то забыли?..
вторник, 11 января 2011 г.
как поменять местами два элемента массива
Существует далеко не один способ поменять значения двух переменных.
Остановимся на самом простом. При этом в обмене будет участвовать третья
переменная. Вот как это будет выглядеть на С\С++:
int a = 10;
int b = 20;
пусть нужно поменять значения переменных a и b, для этого введем новую переменную
такого же типа (например как у нас int, т.е. целое)
int temp;
это сокращенное от английского temporary - т.е временное
ну а теперь магия:
temp = a;
a = b;
b = temp;
после этого значения этих переменных поменялись местами.
Теперь по сути вопроса: как поменять местами два элемента массива.
Отметим, что такая формулировка немного некорректна, местами то мы не меняем
сами элементы )), а только их значения. Итак допустим a[i] поменять с a[j].
Ничего нового, используем для этого все ту же третью переменную посредник:
int a[N];
...
где-то в программе наверняка данным в массиве присваиваются значения, опускаем этот
момент
...
int temp;
temp = a[i];
a[i] = a[j];
a[j] = temp;
все то же самое
Остановимся на самом простом. При этом в обмене будет участвовать третья
переменная. Вот как это будет выглядеть на С\С++:
int a = 10;
int b = 20;
пусть нужно поменять значения переменных a и b, для этого введем новую переменную
такого же типа (например как у нас int, т.е. целое)
int temp;
это сокращенное от английского temporary - т.е временное
ну а теперь магия:
temp = a;
a = b;
b = temp;
после этого значения этих переменных поменялись местами.
Теперь по сути вопроса: как поменять местами два элемента массива.
Отметим, что такая формулировка немного некорректна, местами то мы не меняем
сами элементы )), а только их значения. Итак допустим a[i] поменять с a[j].
Ничего нового, используем для этого все ту же третью переменную посредник:
int a[N];
...
где-то в программе наверняка данным в массиве присваиваются значения, опускаем этот
момент
...
int temp;
temp = a[i];
a[i] = a[j];
a[j] = temp;
все то же самое
Подписаться на:
Сообщения (Atom)