编写一个C程序,用于打印斐波那契数列的前10个数

2022-04-04 科技 74阅读
……
通常的教材上讲到递归时,引用“斐波那契数列”的例子,其实我感觉这是一个误导。“斐波那契数列”的递归解决是效率最低的。

【递归版】
//打印斐波那契数列的前10项

#include
#defineMAX10

intfib(intn);

intmain(){
inti;
printf("斐波那契数列的前10项是:\n");
for(i=1;i<=MAX;i++){
printf("%d\t",fib(i));
}
return0;
}

intfib(intn){
returnn<3?1:(fib(n-1)+fib(n-2));
}

【迭代版】
//打印斐波那契数列的前10项
#include
#defineMAX9

intmain(){
intfib[MAX],i=2;
fib[0]=fib[1]=1;
printf("斐波那契数列的前10项是:\n%d\t%d\t",fib[0],fib[1]);
while(i<10){
fib[i]=fib[i-1]+fib[i-2];
printf("%d\t",fib[i]);
i++;
}
return0;
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com