codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <iostream> #include <iterator> #include <algorithm> #include <cmath> using namespace std; class Fibonacci { private: vector<int> A; public: Fibonacci(unsigned int n) { A.push_back(1); A.push_back(1); Set(n); } void Set(const unsigned int n) { for (unsigned int i=A.size()-1; i<n; i++) { A.push_back(A[i] + A[i-1]); } } int operator()(unsigned int k) { if (k-1 > A.size()) { Set(k-1); } return A[k-1]; } }; class B { private: unsigned int M; vector<int> B; Fibonacci A; public: B(unsigned int m) : M(m), A(30) { B.push_back(m-1); Set(30); } void Set(const unsigned int n) { for (unsigned int i=B.size()-1; i<n; i++) { B.push_back(B); } } int operator()(unsigned int k) { if (k-1 > A.size()) { Set(k-1); } return A[k-1]; } }; int main() { Fibonacci a(10); cout << a(4) << endl; return 0; }
Private
[
?
]
Run code
Submit