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

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

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

Здравствуйте, в программировании не очень силен. Поэтому прошу помочь найти недочеты в коде. Программа должна вычислять сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М. Через цикл while.
Листинг программы
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <locale.h>
  4. #include <conio.h>
  5. int f0;
  6. int f1;
  7. int f2;
  8. int M;
  9. int main()
  10. {
  11. setlocale(LC_ALL,"Russian");
  12. {
  13. printf("Вычислите сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М. \n");
  14. printf("Введите число M-");
  15. scanf("%d",&M);
  16. f0=0;
  17. f1=1;
  18. while(f2<M)
  19. {
  20. int f2=f0+f1;
  21. f0=f1;
  22. f1=f2;
  23. }
  24. printf("Сумма чисел Фибоначчи, меньше M=%d",f2);
  25. }
  26. return 0
  27. }

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

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char *argv[])
  4. {
  5.     int f0 = 0;
  6.     int f1 = 1;
  7.     int sum = 0;
  8.     int f2,M;
  9.  
  10.     printf("Вычислите сумму ...\n");
  11.     printf("Введите число М:\n? ");
  12.     scanf("%d", &M);
  13.  
  14.     while (f1 <= M) {
  15.         sum += f1;
  16.         f2 = f0 + f1;
  17.  
  18.         f0 = f1;
  19.         f1 = f2;
  20.     }
  21.  
  22.     printf("\nСумма равна: %d\n", sum);
  23.  
  24.     return 0;
  25. }

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

  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

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

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

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