首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这个递归有头么?该如何处理

2012-02-20 
这个递归有头么?varn:longintfunctiong(k:longint):longintbeginifk1theng:kelseg:(2002*g(k-1)+200

这个递归有头么?
var  
n:longint;  
function   g(k:longint):longint;  
begin  
if   k   <=1   then   g:=k  
else   g:=(2002*g(k-1)+2003*g(k-2))mod   2005;  
end;  

begin  
writeln(g(2005));  
end.

[解决办法]
你算过这样的代码要运算多少次吗?
初步估算至少要经过2^2004次调用。2^64已经是天文数字了,不知道2^2004是个什么概念。
如果在大型机上运行,并且有愚公移山的精神,等上成百上千年大概可以出结果了。

热点排行