| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3283 人关注过本帖
标题:[求助]斐波那契数列的递归算法和非递归算法
只看楼主 加入收藏
liuxia003486
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-10-28
收藏
 问题点数:0 回复次数:3 
[求助]斐波那契数列的递归算法和非递归算法
斐波那契数列的定义为:她的第1项和第2项均为1,以后各项为其前2项之和,若斐波那契数列中的第N项用Fib(n)表示,则计算公式为:
Fib(n)={1 (n=1或者2)
{Fib(n-1)+Fib(n-2) (n>2)
试写出计算 Fib(n)的递归算法和递归算法,并分析它们的时间复杂度和空间复杂度。
搜索更多相关主题的帖子: 递归算法 Fib 定义 空间 
2006-10-28 11:57
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 


#include<stdio.h>
#define N 15
void fun1();//非递归非数组
void fun2();//非递归数组
int fun3(int);//递归
void main(){
fun1();
putchar(10);
fun2();
putchar(10);
for(int i=1;i<=N;i++)
printf(\"%d \",fun3(i));
}

void fun1()
{
int x=1,y=1,count=1;
printf(\"%d \",x);
while(count<N)
{printf(\"%d \",y);
y=x+y;
x=y-x;
count++;}
}

void fun2()
{
int a[20]={1,1};
for(int i=2;i<N;i++)
a[i]=a[i-1]+a[i-2];
for(int j=0;j<N;j++)
printf(\"%d \",a[j]);
}

int fun3(int n)
{if(n==1||n==2) return 1;
else return fun3(n-1)+fun3(n-2);
}


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-28 19:10
次次
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-10-27
收藏
得分:0 
也可以用叠代
2006-10-28 21:06
liuxia003486
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-10-28
收藏
得分:0 
[休闲]
非常感谢帮助我的人!
2006-10-29 11:07
快速回复:[求助]斐波那契数列的递归算法和非递归算法
数据加载中...
 
   



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

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