C语⾔求斐波那契数列的前30个数
例15:求Fibonacci数列的前40个数。这个数列有以下特点:第1,2两个数为1,1,。从第三个数开始,该数是其前两个数之和。(斐波那契不死神兔)
解题思路:从前两个⽉的兔⼦数可以推出第3个⽉的兔⼦数。设第1个⽉的兔⼦数f1=1,第2个⽉的兔⼦数为f2=1,第3个⽉的兔⼦数
f3=f1+f2=2。
源代码演⽰:
#include<stdio.h>//头⽂件
int main()//主函数,程序的⼊⼝
{
int i,f1,f2,f3,row; //定义变量
f1=1,f2=1; //变量初始化
printf("输⼊需要输出的⾏数:");//提⽰语句
scanf("%d",&row); //键盘输⼊⾏数
printf("%d\n%d\n",f1,f2); //先输出第⼀⾏和第⼆⾏
for(i=1;i<row-1;i++) ///循环控制后row-2⾏
{
f3=f2+f1; //第3⾏的值是前⾯两⾏之和
printf("%d\n",f3);
f1=f2; //变量赋值
f2=f3;
}
}
编译运⾏结果如下:
输⼊需要输出的⾏数:30
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
--------------------------------
Process exited after 2.806 seconds with return value 29
请按任意键继续. . .
读者应该注意此程序只是简单的输出前30⾏,数字还是⽐较⼩的,如果想要更多的输出,要⽤long int(长整型)定义,要不然回超出int的范围,出现下⾯所⽰:
输⼊需要输出的⾏数:600
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
………………
-
c语言斐波那契数列
1831132203
1787838701
-43293502
1744545199
1701251697
-849170400
--------------------------------
Process exited after 2.706 seconds with return value 599请按任意键继续. . .