主题:刚学QB的问题
xgf0
[专家分:60] 发布于 2007-05-01 12:28:00
递归为什么运算速度那么慢? 一个简单的递归差点死机!
回复列表 (共16个回复)
沙发
哈利波特2008 [专家分:20] 发布于 2007-05-01 13:28:00
运算量大
板凳
&佑慧妹妹& [专家分:660] 发布于 2007-05-01 16:12:00
你的递归里有没有循环?有的话,是不是循环变量太大?还是判断语句错误。
3 楼
&佑慧妹妹& [专家分:660] 发布于 2007-05-01 16:12:00
你把程序发上来我看看
4 楼
Matodied [专家分:7560] 发布于 2007-05-01 16:12:00
死循环。
5 楼
&佑慧妹妹& [专家分:660] 发布于 2007-05-01 17:09:00
楼上意见有可能
6 楼
xgf0 [专家分:60] 发布于 2007-05-01 18:48:00
程序很简单,就是求斐波那契数列的第N项。
cls
declare function a(n)
input n
print a(n)
end
function a(n)
if n=1 or n=2 then
a=1
else
a=a(n-1)+a(n-2)
end if
end function
输个稍大点的数试试!
7 楼
Matodied [专家分:7560] 发布于 2007-05-01 21:53:00
输入的数如果太大,会显示"Out of stack space."(递归过深)的出错信息。
8 楼
xgf0 [专家分:60] 发布于 2007-05-02 09:50:00
输个 40 试试。
9 楼
Matodied [专家分:7560] 发布于 2007-05-02 18:33:00
这道题根本不用用递归!真是小题大做!
10 楼
moz [专家分:37620] 发布于 2007-05-02 18:58:00
你太年轻了,
往后的日子里,你要慢慢研究,
用与不用的区别.
我来回复