| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 721 人关注过本帖
标题:【求助】斐波那契数列优化算法
取消只看楼主 加入收藏
斋宅窄寨
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-1-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
【求助】斐波那契数列优化算法
要求输入0<=N<=50,输出斐波那契数列第N项的值。
#include<stdio.h>
int fn(int x)
{
if(x<=1){
return x;
}
else if(x==2){
return 1;
}
else {
return fn(x-1)+fn(x-2);
}
}
int main()
{
int a;
scanf("%d\n",&a);
a=fn(a);
printf("%d\n",a);
return 0;
}
这是我写的源码,在编译器上试过结果没问题,但运行时间太长,所以这个练习就过不了关(一学习编程的网站)。我考虑可能是每次都要判断是否小于等于1,从而导致时间延长,但又不知道怎么改进会更好些,不知坛里的大神们可否指点迷津。
2014-01-20 14:41
斋宅窄寨
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-1-20
收藏
得分:0 
回复 2楼 pangshch
哦?不合适在哪呢?
2014-01-20 15:04
斋宅窄寨
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-1-20
收藏
得分:0 
回复 3楼 pangshch
可是要求里还有输入"0",要怎么办?
2014-01-20 15:06
斋宅窄寨
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-1-20
收藏
得分:0 
回复 6楼 pangshch
是哦,那用循环怎么做呢?
2014-01-20 15:19
斋宅窄寨
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-1-20
收藏
得分:0 
回复 7楼 pangshch
那和我的同样用了两个if,在时间上应该没有区别吧?
2014-01-20 15:21
斋宅窄寨
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-1-20
收藏
得分:0 
回复 10楼 pangshch
我消化一下,a[50]是不数组?要怎么输入呢?scanf("%lf",&a[50]);?
2014-01-20 15:53
斋宅窄寨
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-1-20
收藏
得分:0 
回复 11楼 pangshch
我改过了,还是超过时限...
2014-01-20 16:03
斋宅窄寨
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-1-20
收藏
得分:0 
回复 15楼 pangshch
我去,谢大神!!!
2014-01-20 16:27
快速回复:【求助】斐波那契数列优化算法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049791 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved