Вычислить сумму всех чисел Фибоначчи, которые не превышают N - C (СИ)
Формулировка задачи:
Помогите решить задачу.
Дано натуральное число N>10. Вычислить сумму всех чисел Фибоначчи, которые не превышают N. Числа Фибоначчи образуются по закону: f1 =1, f2 =1, f3 =f1 + f2, fk+1 =fk-1 +fk .
Уже 2 часа сижу и туплю(((
#include<stdio.h> main() { int n; int f; int f1; int f2; int s; f = 0; s = 0; f1 =1; f2 = 1; clrscr (); printf ("Введите максимальное значение числового ряда* "); scanf ("%d",&n); while (n>=f) { f = f1 + f2; f1 = f2; f2 = f; s +=f; } printf ("Сумма чмсел Фибоначчи числового ряда до %d равна** %d",n,s); }
Решение задачи: «Вычислить сумму всех чисел Фибоначчи, которые не превышают N»
textual
Листинг программы
#include <stdio.h> int main() { unsigned long f1, f2, t, n, sum; while (printf("enter a number: ") && scanf("%lu", &n) && n) { sum = 0; for (f1 = 0, f2 = 1; f1 < n; t = f1, f1 = f2, f2 = f2 + t) sum += f1; printf("Sum of fibonacci numbers which " "less than %lu is %lu\n", n, sum); } return 0; }
Объяснение кода листинга программы
В этом коде используется цикл while, который продолжается до тех пор, пока пользователь не введет число и не нажмет кнопку Enter. Код вычисляет сумму всех чисел Фибоначчи, которые не превышают N. В начале кода объявлены следующие переменные: f1 - первое число Фибоначчи f2 - второе число Фибоначчи t - временная переменная n - число, введенное пользователем sum - сумма чисел Фибоначчи Затем в цикле while происходит следующее:
- Выводится сообщение
enter a number:
и пользователь вводит число. - Переменная sum инициализируется значением 0.
- В цикле for происходит вычисление чисел Фибоначчи. Начальное значение f1 равно 0, а f2 равно 1. Затем значения f1 и f2 обновляются в каждой итерации цикла. Значение t используется для сохранения значения f1 перед его обновлением.
- К переменной sum добавляется значение f1.
- Выводится сообщение
Sum of fibonacci numbers which less than %lu is %lu\n
, n, sum), где n - это число, введенное пользователем, а sum - сумма чисел Фибоначчи. После завершения цикла while программа завершается и возвращает 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д