斐波那契数列,输入一个个t,求小于t的最大十个数,每5个一行
先将数列存储到数组,然后倒过来数10个数出来
#include <stdio.h>
int main()
{
int a[10000];
int n=2,i=0,j=0;
int t;
scanf("%d",&t);
a[0] = a[1] = 1;
while(1)
{
a[n] = a[n-1] + a[n-2];
if(a[n] > t)
break;
n++;
}
if(n>10)
i=n-10;
for(;i<n;i++)
{
printf("%d ",a[i]);
j++;
if(j%5==0)
printf("\n");
}
return 0;
}
#include <stdio.h>
long long a[100];
int main() {
int t,i,j;
a[1]=1;a[2]=1;
scanf("%d", &t);
for(i=2;a[i]<t;i++){
a[i+1]=a[i]+a[i-1];
}
j=i-10;
if(i-10<=0){
j=1;
}
int cnt=0;
for(;j<i;j++){
printf("%lld ",a[j]);
cnt++;
if(cnt%5==0){
printf("\n");
}
}
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!