首页 > 代码库 > hdu-1005-Number Sequence
hdu-1005-Number Sequence
这题真是神坑啊,经过递归、for循环的思路,发现都会超时,而程序不能再化简了,就想到规律,不过本题的规律不是很好找,随着a、b不同,周期也不同,这个题神坑的一点在于当n%zhouqi == 0的情况,需要单独挑出来,以下是AC代码:
#include<stdio.h> #include<string> #include<sstream> #include<math.h> #include<string.h> #include<iostream> #include<algorithm> using namespace std; int biao[10000006]; int main() { int a,b,n; while(cin>>a>>b>>n) { if(a == 0 && b == 0 && n == 0) break; int e,zhouqi; biao[1] = 1;biao[2] = 1; for(int i = 3;i <= 100;i++) { biao[i] = (a * biao[i - 1] + b * biao[i - 2]) % 7; if(biao[i] == 1 && biao[i - 1] == 1) {zhouqi = i - 2;break;} } biao[0] = biao[zhouqi]; printf("%d\n",biao[n%zhouqi]); } return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。