Сумма первых членов арифметической прогрессии ( Рекурсия ) - C (СИ)
Формулировка задачи:
Геометрической*
Даны первый член и знаменатель геометрической прогрессии. Написать рекурсивную ф-ю нахождения суммы N первых членов прогрессии.
Решение задачи: «Сумма первых членов арифметической прогрессии ( Рекурсия )»
textual
Листинг программы
double sum(double a, double q, int n)
{
return n == 1 ? a : ( a + sum(a*q, q, n-1) );
}
Объяснение кода листинга программы
- Входные параметры функции:
a- первый элемент прогрессии,q- разность прогрессии,n- количество членов прогрессии. - Если
nравно 1, то функция возвращает значениеa. - Если
nбольше 1, то функция рекурсивно вызывает саму себя с аргументами (a*q, q, n-1), гдеqумножается наa, и передает результат в следующую итерацию. - Результатом является сумма первых
nчленов арифметической прогрессии.