Вычислить сумму всех чисел Фибоначчи, которые не превышают N - C (СИ)

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

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

Помогите решить задачу. Дано натуральное число N>10. Вычислить сумму всех чисел Фибоначчи, которые не превышают N. Числа Фибоначчи образуются по закону: f1 =1, f2 =1, f3 =f1 + f2, fk+1 =fk-1 +fk .
#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);
 
 }
Уже 2 часа сижу и туплю(((

Решение задачи: «Вычислить сумму всех чисел Фибоначчи, которые не превышают 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 происходит следующее:

  1. Выводится сообщение enter a number: и пользователь вводит число.
  2. Переменная sum инициализируется значением 0.
  3. В цикле for происходит вычисление чисел Фибоначчи. Начальное значение f1 равно 0, а f2 равно 1. Затем значения f1 и f2 обновляются в каждой итерации цикла. Значение t используется для сохранения значения f1 перед его обновлением.
  4. К переменной sum добавляется значение f1.
  5. Выводится сообщение Sum of fibonacci numbers which less than %lu is %lu\n, n, sum), где n - это число, введенное пользователем, а sum - сумма чисел Фибоначчи. После завершения цикла while программа завершается и возвращает 0.

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


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

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

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