1: // Created by Frank M. Carrano and Timothy M. Henry.
2: // Copyright (c) 2017 Pearson Education, Hoboken, New Jersey.
4: /** Iterative solution to the rabbit problem. */
5: int iterativeRabbit(int n)
6: {
7: // Initialize base cases:
8: int previous = 1; // Initially rabbit(1)
9: int current = 1; // Initially rabbit(2)
10: int next = 1; // Result when n is 1 or 2
11:
12: // Compute next rabbit values when n >= 3
13: for (int i = 3; i <= n; i++)
14: {
15: // current is rabbit(i - 1), previous is rabbit(i - 2)
16: next = current + previous; // rabbit(i)
17: previous = current; // Get ready for next iteration
18: current = next;
19: } // end for
20:
21: return next;
22: } // end iterativeRabbit