目录
牛客_星际密码(矩阵+斐波那契)
解析代码
这个题目首先需要明确矩阵是固定的,其次是矩阵相乘的方法。解题思路:初始化斐波那契数列,每次获取对应数据,打印最后4位即可。
#include <iostream>
using namespace std;
const int N = 10007;
int f[N];
void setFib()
{
f[1] = 1, f[2] = 2;
for(int i = 3; i < N; ++i)
{
f[i] = f[i - 1] + f[i - 2];
f[i] %= 10000;
}
}
int main()
{
setFib();
int n = 0;
while(cin >> n)
{
for(int i = 0; i < n; ++i)
{
int x = 0;
cin >> x;
printf("%04d", f[x] % 10000);
}
cout << endl;
}
return 0;
}