c++中斐波那契数列
答案:5 悬赏:0 手机版
解决时间 2021-11-19 03:26
- 提问者网友:一抹荒凉废墟
- 2021-11-18 05:20
c++中斐波那契数列
最佳答案
- 五星知识达人网友:独钓一江月
- 2021-11-18 06:35
#include
#include
int main()
{
int n,a[48],b,c,d;
a[0]=0;a[1]=1;
scanf("%d",&n);
if (n>=3)
{printf("%15d%15d",a[0],a[1]);
for (b=2;b {a[b]=a[b-1]+a[b-2];printf("%15d",a[b]);
if (b%4==3) printf("\n");}}
else {if (n==1) printf("%15d",a[0]);
if (n==2) printf("%15d%15d",a[0],a[1]);}
printf("\n");
system("pause");
return 0;
}
#include
int main()
{
int n,a[48],b,c,d;
a[0]=0;a[1]=1;
scanf("%d",&n);
if (n>=3)
{printf("%15d%15d",a[0],a[1]);
for (b=2;b
if (b%4==3) printf("\n");}}
else {if (n==1) printf("%15d",a[0]);
if (n==2) printf("%15d%15d",a[0],a[1]);}
printf("\n");
system("pause");
return 0;
}
全部回答
- 1楼网友:煞尾
- 2021-11-18 09:30
int a[17];
a[0]=1;
a[1]=1;
for(int i=2; i < 17; i++)a[i]=a[i-1]+a[i-2];
cout<谢谢,但是——————
算成18项了
我把【17】-1
【16】-1
就可以了
a[0]=1;
a[1]=1;
for(int i=2; i < 17; i++)a[i]=a[i-1]+a[i-2];
cout<谢谢,但是——————
算成18项了
我把【17】-1
【16】-1
就可以了
- 2楼网友:迟山
- 2021-11-18 08:32
我写了一个,可以运行的了。你参考参考吧~~~
#include "stdafx.h";
int _tmain(int argc, _TCHAR* argv[])
{
int a[3];
a[0]=1;a[1]=1;
a[2]=a[0]+a[1];
int i,n;
printf("请输入要求的斐波那契数列的第n项 ");
printf("n:");
scanf("%d",&n);
printf(" ");
for(i=3;i<=n;i++)
{
a[2]=a[0]+a[1];
a[0]=a[1];
a[1]=a[2];
}
printf("第%d项斐波那契数列的数字为:",n);
printf("%d",a[2]);
scanf("%d",&i);
return 0;
}
追问谢谢,但是运行不了·······还有,你算成18项了
楼上的对了
- 3楼网友:纵马山川剑自提
- 2021-11-18 07:00
斐波那契数列每一项都是前两项和,所以利用递推公式f(n)=f(n-1)+f(n-2),f(1)=f(2)=1
核心部分是
int i,fn,f1,f2;
f1=f2=1;
for(i=2;i<17;i++){
f2=f1;
f1=fn;
fn=f1+f2;
}
核心部分是
int i,fn,f1,f2;
f1=f2=1;
for(i=2;i<17;i++){
f2=f1;
f1=fn;
fn=f1+f2;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯