summaryrefslogtreecommitdiff
path: root/graphs/piscine/fibo_iter/fibo_iter.c
blob: 36ebf46373a091e58c202a628ec00833eed89dec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>

unsigned long fibo_iter(unsigned long n)
{
    if (n == 0)
    {
        return 0;
    }
    unsigned long prev = 1;
    unsigned long pprev = 0;
    unsigned long i;

    for (i = 1; i < n; i++)
    {
        unsigned long next = pprev + prev;
        pprev = prev;
        prev = next;
    }

    return prev;
}