找规律。最多在 7 * 7 = 49内循环。
#include <stdio.h>
int a, b, n, i, t, s[50];
int main ( ) {
while ( scanf ( "%d%d%d", &a, &b, &n ) != EOF && ( a || b || n ) ) {
s[1] = s[2] = 1;
for ( i = 3; i <= 50; ++i ) {
s[i] = ( a * s[i - 1] + b * s[i - 2] ) % 7;
if ( s[i] == 1 && s[i - 1] == 1 ) break;
}
t = i - 2;
printf ( "%d\n", s[(n - 1) % t + 1] );
}
}