Числа Фибоначчи на языке C

Ряд Фибоначчи представляет собой последовательность натуральных чисел, в котором каждый следующий элемент равен сумме двух предыдущих.

В зависимости от условия задачи может требоваться

  1. вывести N элементов ряда,
  2. найти значение N-го элемента ряда,
  3. вывести элементы ряда до определенного предела (значение последнего элемента не должно превышать предела),
  4. найти количество элементов ряда Фибоначчи до заданного числового предела.

Поскольку алгоритмы решения для задач 1. и 2. схожи между собой, также как для 3. и 4., ниже приводится два решения на языке программирования Си. Первое выводит ряд из заданного количества элементов, значение последнего - ответ на вторую задачу. Второе решение выводит ряд до указанного предела и одновременно считает количество элементов в нем.

Вывод ряда Фибоначчи из N элементов:

#include <stdio.h>

int main () {
    unsigned a = 1, b = 1, c;
    unsigned char n, i;
    scanf("%hhu", &n);

    printf("%u %u", a, b);

    for (i=2; i < n; i++) {
        c = a;
        a = b;
        b = c + a;
        printf(" %u", b);
    }
    printf("\n");
}
10
1 1 2 3 5 8 13 21 34 55

Вывод чисел Фибоначчи до заданного предела:

#include <stdio.h>


int main () {
    unsigned a = 1, b = 1, c;
    unsigned char n = 2;
    unsigned long limit;
    scanf("%lu", &limit);

    printf("%u %u", a, b);

    while (a + b < limit) {
        c = a;
        a = b;
        b = c + a;
        printf(" %u", b);
        n++;
    }
    printf("\nКоличество элементов в ряду: %hhu\n", n);
}
800
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610
Количество элементов в ряду: 15