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

来源:百度知道 编辑:UC知道 时间:2024/05/12 01:41:09

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

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

#include <stdio.h>
#define MAX 10

int fib(int n);

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

int fib(int n){
return n<3?1:(fib(n-1)+fib(n-2));
}

【迭代版】
//打印斐波那契数列的前10项
#include <stdio.h>
#define MAX 9

int main(){
int fib[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++;
}
return 0;
}

#include <stdio.h>

int main()
{
long int f1=1,f2=1;
int i;
for(i=1;i<=5/*这里是个数配置*/;i++)<