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