Вычислить выражение с помощью рекурсии - C (СИ) (151442)
Формулировка задачи:
Здравствуйте. Совсем недавно начал учиться программированию. Передо мной такая задача. Как подступиться к задаче?
Решение задачи: «Вычислить выражение с помощью рекурсии»
textual
Листинг программы
#include <stdio.h>
float f(int n)
{
if (n == 1)
return 6;
return 0.5*f(n-1) + 4;
}
int main()
{
int n;
printf("n = ");
scanf("%d", &n);
printf("f(%d) = %f\n", n, f(n));
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки ввода-вывода
- Определение функции
f(int n)с параметромnтипаint - Проверка условия
n == 1, если условие истинно, то возвращается значение 6 - В противном случае, возвращается результат вызова функции
f(n-1)умноженный на 0.5 и прибавленный 4 - В функции
main()объявляется переменнаяnтипаint - Выводится сообщение
n =и считывается значение переменнойnс помощью функцииscanf() - Выводится сообщение
f(%d) = %f\n, где%d- это место для считанного значенияn, а%f- это место для результата вызова функцииf(n) - Возврат 0, означает успешный конец работы программы