斐波那契数列

斐波那契数列

分析:斐波那契数列是后一个数等于前两个数之和,所以开一个变量存每个算出的数所在的位置,然后输出指定的第a个数的值。在这里开一个maxx,得出最大的a是谁,就把斐波那契数算到最大的a。

(搜索算法)

代码:

 

#include<iostream>
#include<cstdio>
using namespace std;
int n,a[1000001],f[1000001];
int main()
{    
    int maxx=0;
    cin>>n;
    f[1]=1;//初始化 
    f[2]=1;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        if(a[i]>maxx) maxx=a[i];//找到要求的最大的a值 
    }
    for(int i=3;i<=maxx;i++)
    {
        f[i]=(f[i-1]+f[i-2])%1000;//先模空间不超限    
    }
    for(int i=1;i<=n;i++)
     cout<<f[a[i]]<<endl;//输出第a个数 
    return 0;
}

 

posted @ 2022-09-18 19:17  4lovls  阅读(95)  评论(0)    收藏  举报