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 }
View Code

 

posted @ 2014-04-12 22:41  null1019  阅读(108)  评论(0编辑  收藏  举报