循环的条件是存在
i,j
a[i-1]=a[j-1];
a[i]=a[j];
而连续的两个数情况共有49种;
注意循环不一定总从1 1开始
例如输入为
2 7
#include"stdio.h"
main()
{
int A,B,n,a[50],i,j,start,length;
while(scanf("%d%d%d",&A,&B,&n)&&(A||B||n))
{
a[1]=1;
a[2]=1;
for(i=3;i<51;i++)
{
a[i]=(A*a[i-1]+B*a[i-2])%7;
for(j=2;j<i;j++)
{
if(a[j-1]==a[i-1]&&a[j]==a[i])
{
start=j; length=i-j;
break;
}
}
}
if(n<start)printf("%d\n",a[n]);
else printf("%d\n",a[start+(n-start)%length]);
}
return 0;
}