Составить программу для вычисления цепной дроби, через рекурсию - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Требуется составить программу для вычисления цепной дроби, через рекурсию. Сколько ни пытался, ничего вразумительного написать не удалось. Может кто-нибудь чем-либо помочь?

Решение задачи: «Составить программу для вычисления цепной дроби, через рекурсию»

textual
Листинг программы
#include <stdio.h>
 
double cont_recurse(int cur, int n)
{
    if (cur >= n)
        return n;
    return cur + 1.0/cont_recurse(cur+1, n);
}
 
double continued(int n)
{
    return 1.0/cont_recurse(1, n);
}
 
int main(void)
{
    int n;
    printf("Input n: ");
    scanf("%d", &n);
    printf("Continued fraction: %f", continued(n));
    return 0;
}

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

  1. Включаем библиотеку stdio.h, чтобы использовать функции ввода-вывода
  2. Создаём функцию cont_recurse(int cur, int n), которая будет вычислять цепную дробь с помощью рекурсии
  3. Внутри функции, если значение переменной cur больше или равно n, то возвращаем n
  4. Внутри функции, если значение переменной cur меньше n, то возвращаем сумму cur и 1/cont_recurse(cur+1, n)
  5. Создаём функцию continued(int n), которая будет вызывать функцию cont_recurse(1, n) для вычисления цепной дроби
  6. В функции main, считываем значение переменной n с помощью функции scanf
  7. Вызываем функцию continued(n), чтобы вычислить цепную дробь
  8. Выводим результат на экран с помощью функции printf

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


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

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

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