题目:求Fibonacci数列的前20项该数列的第1项为1,第2项为1,从第3项开始每一项都是前两项的和),要求按每行5个的格式输出。


前言

斐波那契数列:又称黄金分割数列,因数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为兔子数列,指的是这样的一个数列:1、1、2、3、5、8、13、21、34、……

数学公式:Fn=F(n-1)+F(n-2),n>=3

易知,该数列从第3项开始,每一项都等于前两项之和。


代码

#includeint main(){int c = 0,i = 1,x = 1,y = 1;for(i=1;i<=10;i++){if(x==1&&y==1){printf("%10d%10d",x,y);c = c + 2;}elseif(x!=1&&y!=1){printf("%10d",x);c++;if(c%5==0)printf("\n");printf("%10d",y);c++;if(c%5==0)printf("\n");}x = x + y;y = y + x;}return 0;}


结果


解释

①c与i作为循环变量,i计算循环次数,c判断是否换行,c%5==0时换行即一行五个数时换行。

②%10d设置宽度,使输出结果更加美观。