Вычислить сумму ряда - C# (183004)
Формулировка задачи:
10. Вычислить x1+x2+…+ x20, если последовательность x1, x2, … образована по следующему закону:
Решение задачи: «Вычислить сумму ряда»
textual
Листинг программы
public static double GetSumOfFirstSequence(int itemsCount /* = 20 */)
{
double first = 0.0; // первый элемент - изначально 0
double second = 5.0 / 8.0; // второй элемент - изначально 5/8
double next = 0.0; // следующий элемент - пока 0
double sum = first + second; // сумма - первый + второй
int itemNumber = 3; // начинаем расчёт следующего элемента с третьего
while (itemNumber < itemsCount)
{
// считаем следующий элемент и добавляем его значение к сумме
next = (second / 2.0) + ((3.0 / 4.0) * first);
sum += next;
// обновляем значения элементов, "задвигая" их влево
// в каждый момент времени нас интересуют только три элемента - i-1й, i-2й и следующий
first = second;
second = next;
// увеличиваем текущий номер элемента (считаем до тех пор, пока itemNumber < itemsCount)
// itemsCount передаём снаружи (по заданию - 20)
itemNumber++;
}
// возвращаем результат суммирования
return sum;
}