Описать рекурсивную функцию для расчета 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;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с консолью и вводом/выводом данных.
  2. Определение рекурсивной функции pr(int first,int razn,int nom), которая принимает три аргумента: первый член прогрессии first, разность прогрессии razn и номер члена прогрессии nom.
  3. Проверка условия: если nom равен 1 или 0, то возвращается значение первого члена прогрессии first.
  4. В противном случае, функция вызывает саму себя, передавая в нее первый член прогрессии first, разность прогрессии razn и уменьшенное на 1 значение nom (nom-1), и к результату прибавляет значение разности прогрессии razn.
  5. В функции main() создаются переменные n, first и razn, которые используются для ввода данных с клавиатуры и вывода результатов на экран.
  6. С помощью цикла while происходит запрос на ввод номера члена прогрессии n и его вычисление с помощью функции pr(), до тех пор, пока от пользователя не будет введено значение 0.
  7. Выводится значение члена прогрессии с номером n.
  8. Возврат значения 1 из функции main(), что означает успешный завершение работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы