Main page
Recent changes
Memoize
New name
Show page
Syntax
{{ #include <map> template <int (*f)(int)> int memoize(int x) { static std::map<int, int> cache; std::map<int, int>::iterator y = cache.find(x); if (y != cache.end()) return y->second; return cache[x] = f(x); } int fib(int n) { if (n < 2) return n; return memoize<fib>(n - 1) + memoize<fib>(n - 2); } }}
Password
Summary of changes