Нахождение суммы всех непарных чисел в диапазоне от 1 до 99 включительно - C (СИ)

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

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

с помощью рекурсивной функции составить программу нахождения суммы всех непарных чисел в диапазоне от 1 до 99 включительно. Помогите пожалуйста Вот как я решала:
#include <stdio.h>
#include <conio.h>
double fn(int sum, int a)
sum=0;
a=1;
while(a<100)
{sum=sum+a;
a=a+2;
return fn(sum+a);
}
int main()
{
printf("sum=%d",sum);
_getch();
return 0;
}
В чём ошибка?

Решение задачи: «Нахождение суммы всех непарных чисел в диапазоне от 1 до 99 включительно»

textual
Листинг программы
#include <stdio.h>
 
double fn(int a, int b)
{
    return b > a ? b + fn(a, b - 2) : 1;
}
 
int main()
{
    double sum = fn(1, 99);
    printf("sum=%lf",sum);
    getchar();
    return 0;
}

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

В данном коде реализована рекурсивная функция fn, которая принимает два аргумента типа int - a и b. Если b больше a, то функция вызывает саму себя, передавая в качестве аргументов a и b - 2, и возвращает результат сложения b и полученного при рекурсивном вызове значения. Если b меньше или равно a, то функция возвращает единицу. В функции main создаётся переменная sum, которая инициализируется значением, полученным при вызове функции fn с аргументами 1 и 99. Затем на экран выводится сообщение с значением переменной sum. Код выполняет следующие действия:

  1. Рекурсивный вызов функции fn с аргументами 1 и 99.
  2. Результат рекурсивного вызова сохраняется в переменной sum.
  3. Вывод на экран значения переменной sum.

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


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

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

15   голосов , оценка 3.933 из 5
Похожие ответы