找个循环位置出来 然后取余就好
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws IOException{
StreamTokenizer cin = new StreamTokenizer( new BufferedReader( new InputStreamReader(System.in) ) );
PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));
int A,B,n;
int f[] = new int[200];
while( cin.nextToken()!=StreamTokenizer.TT_EOF ){
A = (int)cin.nval;
//System.out.println("A="+A);
cin.nextToken();
B = (int)cin.nval;
//System.out.println("B="+B);
cin.nextToken();
n = (int)cin.nval;
//System.out.println("n="+n);
if(A==0&&B==0&&n==0) break;
f[0]=1;
f[1]=1;
int i;
for( i=2;i<200;i++ ){
f[i]=(A*f[i-1]+B*f[i-2])%7;
//System.out.println("f["+i+"]="+f[i]);
if( f[i]==1&&1==f[i-1]) break;
}
pw.println(f[(n-1)%(i-1)]);
pw.flush();
}
pw.close();
}
}