大斐波那契数为什么当n>40时结果计算很慢!跟递归函数有关系吗?#includeusing namespace std;
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/23 23:34:00
大斐波那契数
为什么当n>40时结果计算很慢!
跟递归函数有关系吗?
#include
using namespace std;
long int FBO(int FB);
int main()
{
int n;
int T;
cin>>T;
for(int i=0;i>n;
long int x;
x=FBO(n);
cout
为什么当n>40时结果计算很慢!
跟递归函数有关系吗?
#include
using namespace std;
long int FBO(int FB);
int main()
{
int n;
int T;
cin>>T;
for(int i=0;i>n;
long int x;
x=FBO(n);
cout
![大斐波那契数为什么当n>40时结果计算很慢!跟递归函数有关系吗?#includeusing namespace std;](/uploads/image/z/16804139-59-9.jpg?t=%E5%A4%A7%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E4%B8%BA%E4%BB%80%E4%B9%88%E5%BD%93n%3E40%E6%97%B6%E7%BB%93%E6%9E%9C%E8%AE%A1%E7%AE%97%E5%BE%88%E6%85%A2%21%E8%B7%9F%E9%80%92%E5%BD%92%E5%87%BD%E6%95%B0%E6%9C%89%E5%85%B3%E7%B3%BB%E5%90%97%3F%23includeusing+namespace+std%3B)
那必然有关系!因为你一个F(k)算了很多次!可以考虑记忆化:
#include
using namespace std;
long int FBO(int FB);
long F[10000];
int main()
{
int n;
int T;
cin>>T;
for(int i=0;in;
cout
#include
using namespace std;
long int FBO(int FB);
long F[10000];
int main()
{
int n;
int T;
cin>>T;
for(int i=0;in;
cout