输出斐波那契数列

思路

  • 从第三项开始,等于前两项的和

第一种代码实现

int main()
{
    int a[20]={1,1},i;     //定义数组,方便循环遍历赋值
    printf("%d %d ",a[0],a[1]);
    for(i=2;i<20;i++)
    {
        a[i]=a[i-1]+a[i-2];
        printf("%d ",a[i]);
    }
    return 0;
}

第一种方法运行结果

在这里插入图片描述

第二种方法代码实现

int main()
{
    int i,a=1,b=1;
    for(i=0;i<10;i++)
    {
        printf("%d %d ",a,b);
        a=a+b;
        b=b+a;
    }
return 0;
}

第二种方法运行结果

在这里插入图片描述

第三种方法代码实现

用递归实现

#include<iostream>
using namespace std;

int fun(int n){
	if(n==1||n==2)
		return 1;
	return fun(n-1)+fun(n-2);
}

int main(){	
	for(int i=1;i<=20;i++){
		cout<<fun(i)<<" ";
	}
	return 0;
}
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐