#include // Fibonacci Function // fib(N) = fib (N-1) + fib(N-2) // fib(1) = 1 // fib(0) = 0 double fib (double n) { double temp; if (n > 1) temp = fib(n-1) + fib(n-2); else if (n == 1) temp = 1; else temp = 0; return temp; } // factorial operation // fac(N) = fac(N-1) * N if N > 1 // fac(1) = 1 // recursive version of factorial int fac(int n) { if (n > 1) return fac(n-1) * n; else return 1; } // non-recursive version of factorial int facNR(int n) { int result = 1; int i; for (i=1; i<=n; i++) result = result * i; return result; } int main() { int i; for (i = 1; i < 10; i++) { cout << i << ": factorial R: " << fac(i) << ", factorial NR: " << facNR(i) << endl; } for (i = 1; i < 10; i++) { cout << i << ": fib:: " << fib(i) << endl; } i = 0; while (i >= 0) { cout << i << ": fib:: " << fib(i) << endl; cout << "Enter a value to compute Fibonacci: "; cin >> i; } }