代码如下:
核心为 从三行开始除了第一个元素后最后一个元素a[i]=b[i]+b[i-1]
b[i]数组为i-1行的数据组成的数组
#include<iostream>
#define max 100
using namespace std;
void main()
{
int a[max];
int b[max];
int m;
while(cin>>m)
{
int n=3;
if(m>=1)
{
cout<<"1"<<endl;
}
if(m>=2)
{
cout<<"1"<<" "<<"1"<<endl;
}
b[0]=1;b[1]=1;
while(n<=m)
{
a[0]=1;
a[n-1]=1;
for(int i=1;i<n-1;i++)
{
a[i]=b[i]+b[i-1];
}
for(int j=0;j<n;j++)
{
if(j==n-1) cout<<a[j]<<endl;
else
{
cout<<a[j]<<" ";
}
b[j]=a[j];
}
n++;
}
cout<<endl;
}
}
这段代码实现了一个生成斐波那契数列的程序。从第三项开始,每一项都等于前两项之和。程序首先初始化两个数组b和a,然后通过循环和递归的方式生成数列,并打印结果。当输入的行数m大于等于1或2时,会输出相应的初始值。
221

被折叠的 条评论
为什么被折叠?



