Такая вот задачка:
Дано натуральное число N. Вычислить
1*2+2*3*4+…+N*(N+1)*…*2N.
Я не прошу решить, я прошу объяснить суть задания, что нужно сделать, как это понимать, и дайте пожалуйста идею по решению. Я сам решу, не надо решать тут…
Такая вот задачка:
Дано натуральное число N. Вычислить
1*2+2*3*4+…+N*(N+1)*…*2N.
Я не прошу решить, я прошу объяснить суть задания, что нужно сделать, как это понимать, и дайте пожалуйста идею по решению. Я сам решу, не надо решать тут…
Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.
14 января 2009 в 14:02
Во всяком случае, более элегантного решения этой я не вижу
14 января 2009 в 11:01
хм можно и так%) работать будет быстрее нежели каждый раз факториал вычислять:)
13 января 2009 в 20:01
Необходимо выразить значение текущего слагаемого ряда из значения предыдущего. Рассмотрим наши слагаемые a[i] для N=4
a[1] = 1*2
a[2] = 2*3*4
a[3] = 3*4*5*6
a[4] = 4*5*6*7*8
Нетрудно заметить, что
a[i] = a[i-1]*(i+1)*(i+2)/(i-1)
где i – счетчик строк
Отсюда нетрудно сформировать алгоритм расчета суммы, используя всего-лишь один цикл
int n = 4;
int a = 2; // a[1] = 1*2
int s = a;
for (int i = 2; i <= n; i++)
{
a = a * (i + 1) * (i + 2) / (i – 1);
s += a;
}
В s будет искомая сумма ряда
13 января 2009 в 18:00
идея здесь заключается в вычислении суммы ряда вычиления похоже на факториал глянь задачи по вычилению факториалов.. там все порсто цикл и несколько сумматоров и "аккумуляторов"
13 января 2009 в 17:05
здесь нужны вложение циклы (цикл в цикле)