Составить программу для вычисления цепной дроби, через рекурсию - 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; }
Объяснение кода листинга программы
- Включаем библиотеку stdio.h, чтобы использовать функции ввода-вывода
- Создаём функцию cont_recurse(int cur, int n), которая будет вычислять цепную дробь с помощью рекурсии
- Внутри функции, если значение переменной cur больше или равно n, то возвращаем n
- Внутри функции, если значение переменной cur меньше n, то возвращаем сумму cur и 1/cont_recurse(cur+1, n)
- Создаём функцию continued(int n), которая будет вызывать функцию cont_recurse(1, n) для вычисления цепной дроби
- В функции main, считываем значение переменной n с помощью функции scanf
- Вызываем функцию continued(n), чтобы вычислить цепную дробь
- Выводим результат на экран с помощью функции printf
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д