Написать функцию вычисления F(N) = F(N-2)+3 - C (СИ)
Формулировка задачи:
№2 Написать функцию вычисления F(N) = F(N-2)+3.5, с использованием рекурсии, при условии F(1)=1, F(0)=0.
Решение задачи: «Написать функцию вычисления F(N) = F(N-2)+3»
textual
Листинг программы
#include <stdio.h>
double f(int n) {
if (n<1) return 0;
else if (n<2) return 1;
else return f(n-2)+3.5;
}
int main (){
for (int i=0; i<10; i++) printf ("f(%d)=%.2lf ",i,f(i));
fflush (stdin);
getchar ();
return 0;
}
Объяснение кода листинга программы
- Включаем стандартную библиотеку ввода-вывода
- Определяем функцию f(n) с типом double, которая вычисляет значение F(N) = F(N-2)+3.5
- Проверяем базовые случаи: если n меньше 1, то возвращаем 0, если n меньше 2, то возвращаем 1, иначе возвращаем результат рекурсивного вызова функции f(n-2)+3.5
- В функции main() создаем цикл for, который выполняет 10 итераций, на каждой из которых выводит значение f(i) и запрашивает ввод данных с помощью getchar()
- Функция f(n) вызывается 10 раз с аргументами от 0 до 9
- Каждое значение f(i) выводится на экран с точностью до 2 знаков после запятой
- После выполнения всех 10 итераций программа ожидает ввода данных с помощью функции getchar()
- Программа завершается без ошибок, если ввод данных корректен