Написть рекурсивную функцию для нахождения n-ного члена прогрессии - C (СИ)
Формулировка задачи:
даны первый член геометрической прогрессии и знаменатель. написть рекурсивную функцию для нахождения n-ного члена прогрессии
Решение задачи: «Написть рекурсивную функцию для нахождения n-ного члена прогрессии»
textual
Листинг программы
#include <stdio.h>
float nTerm(float b1, float q, int n)
{
if (n == 1)
return b1;
else
return q * nTerm(b1, q, n - 1);
}
int main(void)
{
float b1, q;
int n;
scanf("%f%f%d", &b1, &q, &n);
printf("%f", nTerm(b1, q, n));
return 0;
}
Объяснение кода листинга программы
- Включаем стандартную библиотеку ввода-вывода
- Определяем функцию с именем nTerm, которая принимает три аргумента: b1, q, n
- Если n равно 1, то возвращаем b1
- Если n не равно 1, то возвращаем q, умноженное на результат вызова функции nTerm с аргументами b1, q, n-1
- В функции main считываем значения b1, q, n с помощью функции scanf
- Вызываем функцию nTerm с аргументами b1, q, n и выводим результат на экран с помощью функции printf
- Возвращаем 0, чтобы указать, что программа успешно завершилась