hdu Number Sequence
这道题是寻找规律。别的方法一般都是超时。
1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 6 int f[300]; 7 8 int main() 9 { 10 int a,b,n,i; 11 while(scanf("%d%d%d",&a,&b,&n)!=EOF) 12 { 13 if(a==0&&b==0&&n==0) break; 14 if(n>=3) 15 { 16 f[1]=1; 17 f[2]=1; 18 for(i=3; i<=200; i++) 19 { 20 f[i]=(a*f[i-1]+b*f[i-2])%7; 21 if(f[i-1]==1&&f[i]==1) break; 22 } 23 i-=2; 24 n%=i; 25 if(n==0) printf("%d\n",f[i]); 26 else 27 printf("%d\n",f[n]); 28 } 29 else 30 printf("1\n"); 31 } 32 return 0; 33 }