各位大侠帮忙看看下面哪错了
#include <stdio.h>
int main()
{
long n,i,k,r,r0;
int f[200],A,B;
f[1]=1;f[2]=1;
while(scanf("%d%d%ld",&A,&B,&n)!=EOF)
{
if(A==0&&B==0&&n==0)
break;
if(n==1||n==2)
r=f[n]%7;
else
{
k=0;
i=3;
f[i]=(A%7*f[i-1]+B%7*f[i-2])%7;
r0=f[i];
r=r0;
for(i=4;i<=n;i++)
{
f[i]=(A%7*f[i-1]+B%7*f[i-2])%7;
r=f[i];
k++;
if(r==r0&&i!=n)
{
n=n-k+1;
i=i-k+1;
}
k=0;
if(i==n)
break;
}
}
printf("%ld\n",r);
}
return 0;
}
#include <stdio.h>
int main()
{
long n,i,k,r,r0;
int f[200],A,B;
f[1]=1;f[2]=1;
while(scanf("%d%d%ld",&A,&B,&n)!=EOF)
{
if(A==0&&B==0&&n==0)
break;
if(n==1||n==2)
r=f[n]%7;
else
{
k=0;
i=3;
f[i]=(A%7*f[i-1]+B%7*f[i-2])%7;
r0=f[i];
r=r0;
for(i=4;i<=n;i++)
{
f[i]=(A%7*f[i-1]+B%7*f[i-2])%7;
r=f[i];
k++;
if(r==r0&&i!=n)
{
n=n-k+1;
i=i-k+1;
}
k=0;
if(i==n)
break;
}
}
printf("%ld\n",r);
}
return 0;
}