HDU1005

View Code
 1 /*
 2 模拟
 3 */
 4 #include<stdio.h>
 5 int main(){
 6     int a,b,n;
 7     int f[ 105 ];
 8     while( scanf("%d%d%d",&a,&b,&n)==3,a+b+n ){
 9         f[1]=1;
10         f[2]=1;
11         //printf("1\n1\n");
12         for(int i=3;i<=49;i++){
13             f[i]=f[i-1]*a+f[i-2]*b;
14             f[i]=f[i]%7;
15             //printf("%d\n",f[i]);
16         }
17         n=n%49;
18         if(n==0)n=49;
19         printf("%d\n",f[n]);
20     }
21     return 0;
22 }

关键在于寻找循环节

posted @ 2012-11-22 10:59  xxx0624  阅读(411)  评论(3编辑  收藏  举报