水题 HDU-1005 Number Sequence
题目链接:杭电1005
题目大意:按公式求下一项 类似于斐波那契数列
解题思路:按普通递归迭代方式求解完美超时 多打印点数据发现数据每48项为一个周期(如图所示) 所以最多只要求48项即
代码块:
#include<iostream>
using namespace std;
int main() {
int a, b, n;
while (cin >> a >> b >> n) {
if ((a + b + n) == 0) return 0;
int arr[55] = { 0 };
arr[1] = 1;
arr[2] = 1;
n %= 48;
for (int i = 3; i <= n; i++) {
arr[i] = (a*arr[i - 1] + b * arr[i - 2]) % 7;
}
cout << arr[n] << endl;
}
return 0;
}