您的位置:首页 > 编程语言 > C语言/C++

C语言编写斐波那契数列

2015-11-27 19:10 274 查看
/*

斐波那契数列:规定第一个是n1=0,第二个是n2=1,第三个是n1+n2,第四个是n2+n3,依次类推

*/

#include <stdio.h>

int fb(int x);

printf("输入一个数字");

int a;

scanf("%d",&a);

for (int i=1; i<=a; i++) {

printf("%d ",fb(i));

}

//递归:使用递归,系统开销要比迭代大,所以尽量使用迭代解决问题。

int fb(int x){

if(x==1)

return 0;

if(x==2)

return 1;

else

return fb(x-1)+fb(x-2);//x前面的一项加x前面前面的一项

}

//迭代

//int fb(int x){

// int prevlous1=0;//前面的前面的数字

// int prevlous2=1;//前面的数字

// int current=0;//当前位置数字

// if (x==1) { //斐波那契数列规定第一个为0

// return 0;

// }

// if (x==2) { //斐波那契数列规定第一个为1

// return 1;

// }

// int i=2; //用来计数

//下面是用来计算位置为3以及以后位置的数字

// while (i<x) {

// 从第三项开始每项都是前两项之和

// current = prevlous1 + prevlous2;

// prevlous1 = prevlous2;//将前面的前面赋值为前面的数字

// prevlous2 = current;//将前面的数字赋值为当前数字

// i++;//计数器增1以备下次使用

// }

// return current;

//}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: