【发布时间】:2010-12-20 11:25:57
【问题描述】:
我正在编写一个“简单”程序来确定斐波那契数列中的第 N 个数字。例如:序列中的第 7 个数字是:13。我已经完成了程序,它可以工作,但是从第 40 个数字开始它开始延迟,并且花费的时间越来越长。我的程序必须排到该系列的第 100 位。
我怎样才能解决这个问题,所以它不会花这么长时间?这是一个非常基本的程序,所以我不知道所有花哨的语法代码。我的公式是:
if n =1 || n = 0
return n;
else
return F(n-1) + F(n-2);
在第 40 届任期结束之前,这非常有效。我还需要添加什么其他语句才能让它更快地处理更大的数字??
【问题讨论】:
-
如果这是作业,请用“作业”标签标记它。
-
此调用的次数与每个号码使用指数级更多调用的结果大致相同。