#include <stdio.h>
int f[1010]= {0, 1, 1};
int main()
{
int a, b;
long long int n;
while( ~scanf("%d%d%lld", &a, &b, &n) && a+b+n)
{
for(int i=3; i<=n; i++) //两个循环先建立小的查找数组
{
f[i] = (a*f[i-1] + b*f[i-2]) %7;
for(int j=2; j<i; j++)
{
if(f[j-1] == f[i-1] && f[i] == f[j]) //开始寻找,注意不一定为开头
{n = (n-j)%(i-j)+j; break;}
}
}
printf("%d\n", f[n]);
}
return 0;
}
附件列表
时间: 2024-10-11 02:08:15