题意:
f(1) = 1, f(2) = 1,
f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.
输入A,B和n,输出f(n);
#include <iostream>
using namespace std;
int main()
{
int f[1010];
int A, B;
int64_t n;
while (cin)
{
f[1] = 1, f[2] = 1;
cin >> A >> B >> n;
if ( A == 0 && B == 0 && n == 0)break;
int i;
for (i = 3; i <= n; i++)
{
f[i] = (A * f[i - 1] + B * f[i - 2]) % 7;
for(int j=2;j<i;j++)
if(f[j-1]==f[i-1]&&f[j]==f[i])
{
n=(n-j)%(i-j)+j;
break;
}
}
cout << f[n] << endl;
}
return 0;
}