例题4-9 输出前 n 个Fibonacci数
分数 7
全屏浏览
切换布局
作者 颜晖
单位 浙大城市学院
本题要求编写程序,输出菲波那契(Fibonacci)数列的前N项,每行输出5个,题目保证输出结果在长整型范围内。Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,例如:1,1,2,3,5,8,13,...。
输入格式:
输入在一行中给出一个整数N(1≤N≤46)。
输出格式:
输出前N个Fibonacci数,每个数占11位,每行输出5个。如果最后一行输出的个数不到5个,也需要换行。
如果N小于1
,则输出"Invalid.
"
输入样例1:
7
输出样例1:
1 1 2 3 5
8 13
输入样例2:
0
输出样例2:
Invalid.
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include <stdio.h>
int main(void)
{
int n;
int i;
int x1,x2,x;
scanf("%d",&n);
if(n<1 || n>46){
printf("Invalid.\n");
}else{
x1=1;
x2=1;
if(n<=2){
for(i = 0;i<n; i++){
printf("%11d",1);
}
printf("\n");
return 0;
}else{
printf("%11d%11d",x1, x2);
for(i=3; i<=n; i++){
x=x1+x2;
printf("%11d",x);
if(i%5==0){
printf("\n");
}
x1=x2;
x2=x;
}if(n%5!=0){
printf("\n");
}
}
}
return 0;
}