题目:求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项开始,每一项都等于前两项之和。
代码
#include<stdio.h>
int 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;
}
else
if(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设置宽度,使输出结果更加美观。