【发布时间】:2009-11-15 21:33:07
【问题描述】:
考虑以下代码sn-p:
int fib(int N)
{
if(N<2) return 1;
return (fib(N-1) + fib(N-2));
}
鉴于 fib 是从 main 调用的,N 为 10,35,67,...(比如说),总共有多少调用
发给fib?
这个问题有关系吗?
PS:这是一个理论问题,不应该执行。
编辑:
我知道其他更快计算斐波那契数列的方法。
我想要一个解决方案来计算 fib 被调用的次数 fib(40),fib(50) ,.. 没有编译器的帮助,并且在考试条件下你应该回答类似于这个问题的 40 个问题规定的时间(约 30 分钟)。
谢谢,
【问题讨论】:
-
你想完成什么?假设你不只是在找人来回答你的作业。
-
这是一道作业题吗?你不应该要求其他人为你做作业;你至少应该展示你迄今为止尝试过的东西,并询问你遇到的具体问题。
-
相关(几乎但不完全重复):stackoverflow.com/questions/360748/…
-
不,这不是家庭作业问题!!
-
我会说这取决于你是否使用记忆来保留先前计算的斐波那契数的结果:)