+ -
当前位置:首页 → 问答吧 → 斐波那契数列代码错在哪里?

斐波那契数列代码错在哪里?

时间:2011-09-19

来源:互联网

function f3($n){
  if ($n<=2){
  return 1;
  }elseif($n>2){
  return f3($n-1)+f3($n-2);
  }
}
echo f3(20);//可以输出

echo f3(30);//就不行了

作者: hemin007   发布时间: 2011-09-19

就不行了 是什么意思?

作者: xuzuning   发布时间: 2011-09-19

引用 1 楼 xuzuning 的回复:

就不行了 是什么意思?


超过30秒了。。

作者: hemin007   发布时间: 2011-09-19

引用 2 楼 hemin007 的回复:
引用 1 楼 xuzuning 的回复:

就不行了 是什么意思?


超过30秒了。。

时间就该更长

作者: franzhong   发布时间: 2011-09-19

可以不用递归的就别用递归。

作者: foolbirdflyfirst   发布时间: 2011-09-19

那你的机器也太低档了

echo f3(20);
echo f3(30);
两句一起执行也才耗时5秒

作者: xuzuning   发布时间: 2011-09-19

配置绝对比你的高,我说的是代码优化问题啊

作者: hemin007   发布时间: 2011-09-19

“鸡同鸭讲” 哎

作者: orange_morning   发布时间: 2011-09-19

代码优化的话,消除递归。
可以用数组。

作者: ohmygirl   发布时间: 2011-09-19

相关阅读 更多