jfs - C++, pasted on Dec 3:
 ```1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 ``` ```// \$ g++ -std=c++0x -Wall alec.cpp -o alec && ./alec #include // uint64_t #include namespace { uint64_t fibonacci(int n) { static uint64_t f[94] = { 0, 1 }; const int size = sizeof(f)/sizeof(*f); if (n <= 0 or n > size) return -1;//return some invalid number to tell the caller that he used bad input if (n != 1 and f[n-1] == 0) for (int i = 2; i < size; i++) // compute all values at once f[i] = f[i-2] + f[i-1]; return f[n-1]; // return n-th fibonacci number } template struct Fibonacci { static const uint64_t value = Fibonacci::value + Fibonacci::value; }; template<> struct Fibonacci<0> { static const uint64_t value = 0; }; template<> struct Fibonacci<1> { static const uint64_t value = 1; }; } int main() { for (int i = 0; i < 8; ++i) std::cout << fibonacci(i) << " "; std::cout << "\n"; std::cout << "7: " << fibonacci(7) << " " << Fibonacci<6>::value << std::endl; std::cout << "94: " << fibonacci(94) << " " << Fibonacci<93>::value << std::endl; } ```

Output:
 ```1 2 3 ``` ```18446744073709551615 0 1 1 2 3 5 8 7: 8 8 94: 12200160415121876738 12200160415121876738 ```