/**
[规律] hdu 1005 Number Sequence#坑爹一水
f[i] 取值为0~6,且由f[i-1] 和f[i-2] 决定。f[i-1] f[i-2]共49种组合,故必然有小于50的循环节
*/
#include <stdio.h>
#define N 1000
int f[N] ={1,1};
int main()
{
//f[0] = f[1] = 1;
int a,b,n,i;
while(scanf("%d%d%d",&a,&b,&n) && a)
{
i = 1;
///坑爹的地方,写成死循环就WA,这里明明是为了找循环节由break退出的。而且,N开大了也WA。
for(;i < N;)
{
++i;
f[i] = (a * f[i-1] + b * f[i-2]) % 7;
if(f[i] == 1 && f[i-1] == 1)
break;
}
printf("%d\n",f[(n-1)%(i-1)]);
}
return 0;
}
[规律] hdu 1005 Number Sequence#坑爹一水
最新推荐文章于 2020-07-12 20:18:12 发布