【发布时间】:2021-03-23 07:05:20
【问题描述】:
我想让它每次添加一个尚未找到的参数到地图中,但是当我尝试高于 47 的数字时,它会给我负数,这显然是不可能的
#include <map>
using namespace std;
//memoization
map<unsigned int, unsigned int> memo;
map<unsigned int, unsigned int>::iterator it;
int fibonacci(int n)
{
it = memo.find(n);
if (it != memo.end())
{
cout << it->first<<endl;
return memo.at(n);
}
if (n <= 2)
{
return 1;
}
memo.insert({ n, fibonacci(n - 1) + fibonacci(n - 2) });
cout << "----"<<n<<endl;
return memo.at(n);
}
int main()
{
cout<<fibonacci(48);
}
【问题讨论】:
-
你查过FIBO(40)的结果吗?
unsigned int用袖珍计算器能容纳的最大值吗? -
什么是“igni”??
-
@πάνταῥεῖ 袖珍计算器?我意识到“你应该先完成 x、y、z 对我来说简单的事情”的被动攻击版本 cmet 风靡一时,但是,真的,一个袖珍计算器?我们正在将其简化到 级别?
-
我通常只是用谷歌搜索,找到前 300 个斐波那契数列:http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/fibtable.html
-
@drescherjm 现在 Google 将开始向您展示基于数学的广告。