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