Составить программу для вычисления цепной дроби, через рекурсию - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д