/************************************ * * * * * CSCI 1470, Fall * * Machine Problem: MP8a * * Purpose: Calculate Fibonacci * * numbers. * ************************************/ #include unsigned fib(unsigned); unsigned iter(unsigned); using namespace std; int main(void) { unsigned n; cout << "Enter n: "; cin >> n; cout << " RECURSION TABLE" << endl; cout << "n " << "f(n) " << "Ratio of f(n)/f(n+1) " << "Ratio of f(n+1)/f(n) " << endl; for (unsigned i=0; i<=n; i=i+1) { cout << i << " " << fib(i) << " " << fib(i)/fib(i+1) << " " << fib(i+1)/fib(i) << endl; } cout << endl << endl << endl; cout << " ITERATION TABLE" << endl; cout << "n " << "f(n) " << "Ration of f(n)/f(n+1) " << "Ration of f(n+1)/f(n) " << endl; for (unsigned m=0; m<=n; m=m+1) { cout << m << " " << iter(m) << " " << iter(m)/iter(m+1) << " " << iter(m+1)/iter(m) << endl; } return 0; } unsigned fib(unsigned n) { if (n==0 || n==1) return 1; else return fib(n - 1) + fib(n - 2); } unsigned iter(unsigned n) { unsigned pred, result, temp; num=1; result=0; for (int i=0; i<=n; i=i+1) { temp = pred + result; result = pred; num = temp; } return result; }