Вычислить сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М - C (СИ)

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

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

Здравствуйте, в программировании не очень силен. Поэтому прошу помочь найти недочеты в коде. Программа должна вычислять сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М. Через цикл while.
#include <stdio.h>
#include <math.h>
#include <locale.h>
#include <conio.h>
int f0;
int f1;
int f2;
int M;
int main()
{
 setlocale(LC_ALL,"Russian");
 
 {
printf("Вычислите сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М. \n");
printf("Введите число M-");
     scanf("%d",&M);
f0=0;
f1=1;
while(f2<M)
{
    int f2=f0+f1;
    f0=f1;
    f1=f2;
}   
printf("Сумма чисел Фибоначчи, меньше M=%d",f2);
}
return 0
}

Решение задачи: «Вычислить сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М»

textual
Листинг программы
#include <stdio.h>
 
int main(int argc, char *argv[])
{
    int f0 = 0;
    int f1 = 1;
    int sum = 0;
    int f2,M;
 
    printf("Вычислите сумму ...\n");
    printf("Введите число М:\n? ");
    scanf("%d", &M);
 
    while (f1 <= M) {
        sum += f1;
        f2 = f0 + f1;
 
        f0 = f1;
        f1 = f2;
    }
 
    printf("\nСумма равна: %d\n", sum);
 
    return 0;
}

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

  1. Подключение стандартной библиотеки для работы с файлами и вывода данных.
  2. Объявление переменных: — f0 - первое число Фибоначчи, начальное значение равно 0; — f1 - второе число Фибоначчи, начальное значение равно 1; — sum - переменная для хранения суммы чисел Фибоначчи; — f2 - третье число Фибоначчи, в которое будет переходить значение f1; — М - натуральное число, введенное пользователем, ограничивающее сумму чисел Фибоначчи.
  3. Вывод сообщения с просьбой ввести число М.
  4. Считывание числа М с помощью функции scanf.
  5. Организация цикла по вычислению суммы чисел Фибоначчи: — Вычисление текущего значения f1 (f1 = f0 + f1). — Суммирование f1 и сохранение результата в переменной sum. — Обновление значений f0 и f1 для следующей итерации (f0 = f1; f1 = f2). — Проверка условия (f1 <= М) для прекращения цикла.
  6. Вывод сообщения с результатом вычислений.
  7. Возврат 0, означающий успешный конец работы программы.

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


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

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

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