因为是题目中有mod7,所以找到循环的部分打表。f(n)是循环的。
#include<stdio.h>
int main()
{
int a,b,i;
long n,f[201];
while (scanf("%d %d %ld",&a,&b,&n)!=EOF)
{
if(a==0 && b==0 && n==0)
break;
f[1]=1;
f[2]=1;
if(n>=3)
{
for(i=3;i<200;i++)
{
f[i]=(a*f[i-1]+b*f[i-2])%7;
if(f[i-1]==1 && f[i]==1)
break;
}
i=i-2;
n=n%i;
if(n==0)
n=i;
printf("%d\n",f[n]);
}
else
printf("1\n");
}
return 0;
}