#include #include using namespace std; #define MAXFIB 10000000 long long fibArray[MAXFIB]; long long fib(int n) { if (n <= 1) return 1; else if (n == 2) return 1; else if (n >= MAXFIB) { cout << n << " is larger than MAXFIB! Exit.\n"; exit(0); } else { fibArray[1] = 1; fibArray[2] = 1; for (int i=3; i <= n; i++) { fibArray[i] = fibArray[i-1] + fibArray[i-2]; } return fibArray[n]; } } int main(int argc, char* argv[]) { if (argc == 1) cout << "fib(10) = " << fib(10) << "\n"; else cout << "fib(" << atoi(argv[1]) << ") = " << fib(atoi(argv[1])) << "\n"; return 0; }