Home > Programming > Functions using the "C" programming language > example29.c |
/*
In this example we 'll the calculation of fibonacci number in two ways:
- Using a recursive function
- Using a non recursive function
*/
#include <conio.h>
#include <stdio.h>
/*
Function fib1 prototype (recursive)
*/
long fib1( int );
/*
Function fib2 prototype (non recursive)
*/
long fib2( int );
void main()
{
int i;
printf("Recursive function :\n");
for( i=1; i<20; i++ )
printf("Fibonacci of %d is %ld.\n", i
, fib1( i ) );
getch();
printf("Non recursive function :\n");
for( i=1; i<20; i++ )
printf("Fibonacci of %d is %ld.\n", i
, fib2( i ) );
getch();
}
/*
Calculate fibonacci number recursively
*/
long fib1( int num )
{
if( num <= 2 )
return 1;
else
return fib1(num -
1) + fib1(num - 2);
}
/*
Calculate fibonacci number non recursively
*/
long fib2( int num )
{
int f1=1,f2=1,f3,i;
for( i=3; i<=num; i++ )
{
f3 = f1 + f2;
f1 = f2;
f2 = f3;
}
return f2;
}
© 2004 Jim Valavanis