HDU 1005 Number Sequence
找规律
结果一定会循环 当出现0 1 1 时就是一个循环 后面的数据会和前面的一样
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 6 int main() 7 { 8 9 freopen("C:\\CODE\\in.txt", "r", stdin); 10 //freopen("C:\\CODE\\out.txt","w",stdout); 11 12 int A,B,n; 13 int a[100]={0}; 14 a[0]=0;a[1]=a[2]=1; 15 while(~scanf("%d%d%d",&A,&B,&n)) { 16 if(A+B+n == 0) 17 break; 18 int i; 19 for(i=3;i<100;i++){ 20 a[i]=(A*a[i-1]+B*a[i-2])%7; 21 if(a[i]==a[i-1] && a[i]==1) 22 break; 23 } 24 i=i-2; 25 n=n%i; 26 if(n == 0) n=i; //若没有这句,会错误 27 printf("%d\n",a[n]); 28 29 } 30 31 fclose(stdin); 32 return 0; 33 }
----------------
人们生成的最美好的岁月其实就是最痛苦的时候,只是事后回忆起来的时候才那么幸福。