介绍
斐波拉契数列,又称黄金分割数列,指的是这样一个数列:0,1,1,2,3,5,8,13,21,34。
分析
本质特征是A[n]=A[n-1]+A[n-2],n>2
代码
#include<stdio.h>
#include<stdlib.h>
//递归写法
int f(int n)
{
if(n==1 || n==2)
return 1;
else
return f(n-1)+f(n-2);
}
int main()
{
int n,i;
printf("请输入数列个数n:");
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
printf("%d ",f(i));
printf("\n");
printf("请输入数列个数n:");
}
system("pause");
return 0;
}
//非递归
#include<stdio.h>
#include<stdlib.h>
void main()
{
int n,A[3];
printf("请输入数列的个数:");
while(scanf("%d",&n)!=EOF)
{
A[0]=0;
A[1]=1;
A[2]=0;
printf("数列为:%d %d ",A[0],A[1]);
for(int i=2;i<n;i++)
{
A[2]=A[0]+A[1];
printf("%d ",A[2]);
A[0]=A[1];
A[1]=A[2];
}
printf("\n请输入数列的个数:");
}
system("pause");
}
遇到的问题
没有问题。