Написать рекурсивную функцию для вычисления выражения - C (СИ)
Формулировка задачи:
Помогите написать рекурсию, задание на прикрепленной картинке
Решение задачи: «Написать рекурсивную функцию для вычисления выражения»
textual
Листинг программы
- #include <stdio.h>
- int recursion(int a){
- if (a==1)
- return 1;
- if (a==2)
- return 2;
- if (a!=1 && a!=2)
- return a+recursion(a-3);
- }
- int main()
- { float res_n = 0, res_d = 0, res;
- res_n = recursion(301);
- res_d = recursion(272);
- res = res_n/res_d;
- printf("%.3f", res);
- return 0;
- }
Объяснение кода листинга программы
- Включаем стандартную библиотеку файл формата .h, который содержит функции для ввода/вывода данных, нужные для отправки сообщений в консоль.
- У нас есть функция с именем recursion, которая принимает целочисленный параметр типа int, в данном случае это a.
- Внутри функции, с помощью условного оператора if, проверяем значение переменной a.
- Если a равно 1, то возвращаем 1.
- Если a равно 2, то возвращаем 2.
- Если a не равно 1 и a не равно 2, то возвращаем сумму a и результат вызова функции recursion с аргументом a-3.
- В функции main, объявляем переменные res_n и res_d, которые будут использоваться для хранения результатов рекурсивных вычислений.
- Задаем начальное значение для переменной res_n, вызывая функцию recursion с аргументом 301.
- Задаем начальное значение для переменной res_d, вызывая функцию recursion с аргументом 272.
- Вычисляем значение переменной res, разделив res_n на res_d.
- С помощью функции printf выводим значение переменной res в консоль.
- Возвращаем 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д