Описать рекурсивную функцию для расчета n-го члена заданной арифметической прогрессии - C (СИ)
Формулировка задачи:
16. Даны первый член и разность арифметической прогрессии. Описать рекурсивную функцию для расчета n-го члена заданной арифметической прогрессии. Вычислить значение функции для различных n.
Нужна помощь мужики..
Решение задачи: «Описать рекурсивную функцию для расчета n-го члена заданной арифметической прогрессии»
textual
Листинг программы
#include <stdio.h> #include <conio.h> int pr(int first,int razn,int nom) { if(nom==1||nom==0)return first; else return pr(first,razn,nom-1)+razn; } int main() { int n=1,first,razn; printf("A1="); scanf("%i",&first); printf("A2-A1="); scanf("%i",&razn); while(n) { printf("N="); scanf("%i",&n); printf("A%i=%i\n",n,pr(first,razn,n)); } return 1; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью и вводом/выводом данных.
- Определение рекурсивной функции pr(int first,int razn,int nom), которая принимает три аргумента: первый член прогрессии first, разность прогрессии razn и номер члена прогрессии nom.
- Проверка условия: если nom равен 1 или 0, то возвращается значение первого члена прогрессии first.
- В противном случае, функция вызывает саму себя, передавая в нее первый член прогрессии first, разность прогрессии razn и уменьшенное на 1 значение nom (nom-1), и к результату прибавляет значение разности прогрессии razn.
- В функции main() создаются переменные n, first и razn, которые используются для ввода данных с клавиатуры и вывода результатов на экран.
- С помощью цикла while происходит запрос на ввод номера члена прогрессии n и его вычисление с помощью функции pr(), до тех пор, пока от пользователя не будет введено значение 0.
- Выводится значение члена прогрессии с номером n.
- Возврат значения 1 из функции main(), что означает успешный завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д