南阳理工 oj
题目地址http://acm.nyist.net/JudgeOnline/problem.php?pid=698
涛哥代码~
循环节15000
#include<cstdio>
int ans[100000];
int main(void) {
int t;
ans[1] = 2;
ans[2] = 3;
ans[3] = 5;
ans[4] = 8;
for (int i=5; i<=20000; ++i) {
ans[i] = (ans[i-2] + ans[i-1]) % 10000;
// if (ans[i] == 8&&ans[i-1]==5&&ans[i-2]==3&&ans[i-3]==2) {
// printf("%d\n", i);
// printf("%d\n", ans[i-3]);
// printf("%d\n", ans[i-2]);
// printf("%d\n", ans[i-1]);
// printf("%d\n", ans[i]);
// }
}
scanf("%d", &t);
while (t--) {
int n;
scanf("%d", &n);
n %= 1500;
if (n==0) {
n = 1500;
}
printf("%d\n", ans[n]);
}
return 0;
}
本文介绍了解决循环节问题的算法实现,通过使用动态规划和循环迭代,解决了一道来自南阳理工在线判题系统的数学难题。代码展示了如何计算并输出特定循环节的值。
819

被折叠的 条评论
为什么被折叠?



