#include <stdio.h>
#include <stdlib.h>
unsigned long fibonacciRec(int n)
{
if(n < 2)
return 1UL;
return fibonacciRec(n-1) + fibonacciRec(n-2);
}
unsigned long fibonacci(int n)
{
int i;
unsigned long fn1, fn2, fn;
fn = fn1 = fn2 = 1UL;
for(i = 2; i <= n; i++)
{
fn = fn1 + fn2;
fn2 = fn1;
fn1 = fn;
}
return fn;
}
int main(int argc, char *argv[])
{
int i;
printf("Fibonacci recursiva:\n");
for(i = 0; i < 30; i++)
printf("F(%d)=%10lu\n", i, fibonacciRec(i));
getchar();
printf("Fibonacci iterativa:\n");
for(i = 0; i < 30; i++)
printf("F(%d)=%10lu\n", i, fibonacci(i));
return EXIT_SUCCESS;
}