这道题其实就是把周期找出来就ok了
#include
int main()
{
int s[52],a,b,i,n,t;
s[1]=1;
s[2]=1;
while((scanf("%d %d %d",&a,&b,&n)!=EOF),a+b+n!=0)
{
a=a%7;
b=b%7;
for(i=3;i<52;i++)
s[i]=(a*s[i-1]+b*s[i-2])%7; //将所以可能的结果保存在数组s里面
for(i=3;i<52;i++)
if(s[i]==s[1]&&s[i+1]==s[2]) //找周期
break;
t=i-1; //周期为t
if(n%t==0)
printf("%d\n",s[t]);
else
printf("%d\n",s[n%t]);
}
return(0);
}