1. 程式人生 > >1760:菲波那契數列(2)

1760:菲波那契數列(2)

problem 得到 spa clas 第一個 out 。。 i++ 輸出

總時間限制:
1000ms
內存限制:
65536kB
描述
菲波那契數列是指這樣的數列: 數列的第一個和第二個數都為1,接下來每個數都等於前面2個數之和。
給出一個正整數a,要求菲波那契數列中第a個數對1000取模的結果是多少。
輸入
第1行是測試數據的組數n,後面跟著n行輸入。每組測試數據占1行,包括一個正整數a(1 <= a <= 1000000)。
輸出
n行,每行輸出對應一個輸入。輸出應是一個正整數,為菲波那契數列中第a個數對1000取模得到的結果。
樣例輸入
4
5
2
19
1
樣例輸出
5
1
181
1
#include<bits/stdc++.h>
using namespace std;
int
a[1000010]; int main(){ int k,c; cin>>k; a[1]=1; a[2]=1; for(int j=3;j<=1500;j++) a[j]=(a[j-1]+a[j-2])%1000; a[0]=a[1500]; for(int i=1;i<=k;i++){ cin>>c; cout<<a[c%1500]<<endl; } }

//一個新蒟蒻的小筆記。。。

//還借鑒了某大佬的方法。。。

1760:菲波那契數列(2)