/*
是一个循环问题,因为存在对7取余的过程,所以f(n)的取值范围是0~6,由于取决于A/B两个数字
则为7*7=49种可能,所以可以建立一个50以内的数据库,来包含之后所有的取值范围
*/
#include <stdio.h>
int main()
{
int A,B;
long int n;
int a[100];
while(scanf("%d %d %d",&A,&B,&n)!=EOF)
{
if(A+B+n==0) break;
a[1]=1;
a[2]=1;
for(int i=3;i<=50;i++)
{
a[i]=(a[i-1]*A+a[i-2]*B)%7;
}
a[0]=a[48];
//若n恰好为48的倍数。则变成未定义的a【0】
n=n%48;
printf("%d\n",a[n]);
}
return 0;
}
1005 Number Sequence
最新推荐文章于 2021-04-08 17:06:49 发布