信息
- ID
- 1132
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 40
- 已通过
- 14
- 上传者
思路:
预处理
出斐波那契数列的前 50 项,之后对于每个查询,直接通过数组下标获取结果,避免重复递推计算。
#include <bits/stdc++.h>
using namespace std;
#define int long long
void solve() {
int f[55];
// 预处理斐波那契数列前50项
f[1] = 1;
f[2] = 1;
for(int i = 3; i <= 50; i++){
f[i] = f[i - 1] + f[i - 2];
}
int t; cin >> t;
while (t--){
int x;
cin >> x;
cout << f[x] << endl;
}
}
signed main() {
ios::sync_with_stdio(0);
cin.tie(0);
solve();
return 0;
}