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

 

你可能感兴趣的:(sequence)