Home > Programming > Functions using the "C" programming language > example29.c

 

Previous

Next


/*
    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

Previous

Next

1