Написать рекурсивную функцию для вычисления выражения - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите написать рекурсию, задание на прикрепленной картинке

Решение задачи: «Написать рекурсивную функцию для вычисления выражения»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3.  
  4. int recursion(int a){
  5.     if (a==1)
  6.         return 1;
  7.     if (a==2)
  8.         return 2;
  9.     if (a!=1 && a!=2)
  10.         return a+recursion(a-3);
  11. }
  12.  
  13. int main()
  14. {   float res_n = 0, res_d = 0, res;
  15.     res_n = recursion(301);
  16.     res_d = recursion(272);
  17.     res = res_n/res_d;
  18.     printf("%.3f", res);
  19.     return 0;
  20. }

Объяснение кода листинга программы

  1. Включаем стандартную библиотеку файл формата .h, который содержит функции для ввода/вывода данных, нужные для отправки сообщений в консоль.
  2. У нас есть функция с именем recursion, которая принимает целочисленный параметр типа int, в данном случае это a.
  3. Внутри функции, с помощью условного оператора if, проверяем значение переменной a.
  4. Если a равно 1, то возвращаем 1.
  5. Если a равно 2, то возвращаем 2.
  6. Если a не равно 1 и a не равно 2, то возвращаем сумму a и результат вызова функции recursion с аргументом a-3.
  7. В функции main, объявляем переменные res_n и res_d, которые будут использоваться для хранения результатов рекурсивных вычислений.
  8. Задаем начальное значение для переменной res_n, вызывая функцию recursion с аргументом 301.
  9. Задаем начальное значение для переменной res_d, вызывая функцию recursion с аргументом 272.
  10. Вычисляем значение переменной res, разделив res_n на res_d.
  11. С помощью функции printf выводим значение переменной res в консоль.
  12. Возвращаем 0, чтобы указать, что программа успешно завершилась.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы