斐波那契数列
分析:斐波那契数列是后一个数等于前两个数之和,所以开一个变量存每个算出的数所在的位置,然后输出指定的第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; }
标签:maxx,数列,int,1000001,斐波,那契 From: https://www.cnblogs.com/xdzxjinghan/p/16705520.html