singlepost

Помогите расшифровать задание << На главную или назад  

Такая вот задачка:
Дано натуральное число N. Вычислить
1*2+2*3*4+…+N*(N+1)*…*2N.

Я не прошу решить, я прошу объяснить суть задания, что нужно сделать, как это понимать, и дайте пожалуйста идею по решению. Я сам решу, не надо решать тут…

21 ответов в теме “Помогите расшифровать задание”

  1. 5
    Дмитрий Ерохин ответил:

    Во всяком случае, более элегантного решения этой я не вижу

  2. 4
    Санька Снетков ответил:

    хм можно и так%) работать будет быстрее нежели каждый раз факториал вычислять:)

  3. 3
    Дмитрий Ерохин ответил:

    Необходимо выразить значение текущего слагаемого ряда из значения предыдущего. Рассмотрим наши слагаемые 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 будет искомая сумма ряда

  4. 2
    Александр Тимофеев ответил:

    идея здесь заключается в вычислении суммы ряда вычиления похоже на факториал глянь задачи по вычилению факториалов.. там все порсто цикл и несколько сумматоров и "аккумуляторов"

  5. 1
    Санька Снетков ответил:

    здесь нужны вложение циклы (цикл в цикле)

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.