From c9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Mon, 15 Sep 2025 01:08:27 +0200 Subject: add: graphs et rushs --- graphs/cpp/lookup_table/fibo.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 graphs/cpp/lookup_table/fibo.cc (limited to 'graphs/cpp/lookup_table/fibo.cc') diff --git a/graphs/cpp/lookup_table/fibo.cc b/graphs/cpp/lookup_table/fibo.cc new file mode 100644 index 0000000..80b72b1 --- /dev/null +++ b/graphs/cpp/lookup_table/fibo.cc @@ -0,0 +1,15 @@ +#include "fibo.hh" + +long Fibo::operator()(int x) +{ + if (x <= 1) + return x; + + std::optional opt_lookup_table = lookup_table_.get(x); + if (opt_lookup_table) + return *opt_lookup_table; + + auto res = (*this)(x - 1) + (*this)(x - 2); + lookup_table_.set(x, res); + return res; +} -- cgit v1.2.3