[ create a new paste ] login | about

Link: http://codepad.org/u2WuAVtr    [ raw code | fork ]

hecomi - C++, pasted on Jul 17:
#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;
}


Create a new paste based on this one


Comments: