Числа Фибоначчи, программа

"Вычислить и вывести номер первого элемента последовательности Фибоначчи, которое превышает 1000." Нужна помощь в написании программы для данного задания, т.к после начала работы моей программы, она ничего не выдает. Надо сделать именно через 2 переменные

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a = 1, b = 1;
    while (a + b < 1000)
    {
        a = a + b;
        b = a - b;
        a = a - b;
    }
    printf("%d", a + b);

    return 0;
}


Ответы (1 шт):

Автор решения: Сергей Махнёв

Странно, что вы не можете отловить данный момент, но ваш код будет работать, как только вы удалите данную строчку кода a = a - b; по факту, вы по кругу отнимаете единицу и снова ее прибавляете. Итоговый вариант получается так

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a = 1, b = 1;
    while (a + b < 1000)
    {
        a = a + b;
        b = a - b;
    }
    printf("%d", a + b);

    return 0;
}

Вывод: 1597

→ Ссылка