/* primer44.c - rekurzivne definicije */ #include int Fibonaci( int ); int fibonaci( int ); int C( int, int ); main() { int i, N, M, f, Fib, BinKoef; scanf("%d", &N); scanf("%d", &M); /* Fibonacijev niz - rekurzivno */ Fib = Fibonaci( N ); printf("Fib(%d) = %d\n", N, Fib ); /* Fibonacijev niz - iterativno */ Fib = fibonaci( N ); printf("Fib(%d) = %d\n", N, Fib ); /* Binomni koeficijenti */ BinKoef = C( N, M ); printf("C(%d,%d) = %d\n", N, M, BinKoef ); } int Fibonaci( int n ) { if( n <= 1 ) return 1; else return Fibonaci(n-1) + Fibonaci(n-2); } int fibonaci( int n ) { int u, v; int u0, v0; int i; u = 1; v = 1; for( i = 2; i <= n; i++ ) { u0 = u; v0 = v; u = u0 + v0; v = u0; } return u; } int C( int n, int m ) { if( (n == 0) || (m == n) ) return 1; else return C( n-1, m-1) + C(n-1, m ); }