【题目链接】

            点击打开链接

【算法】

          矩阵乘法快速幂,即可

【代码】

           

#include<bits/stdc++.h>
using namespace std;

int a,b,n;

struct Matrix
{
        int mat[3][3];
} ans;
inline void multipy(Matrix &a,Matrix b)
{
        int i,j,k;
        Matrix ans;
        ans.mat[1][1] = ans.mat[1][2] = ans.mat[2][1] = ans.mat[2][2] = 0;
        for (i = 1; i <= 2; i++)
        {
                for (j = 1; j <= 2; j++)
                {
                        for (k = 1; k <= 2; k++)
                        {
                                ans.mat[i][j] = (ans.mat[i][j] + a.mat[i][k] * b.mat[k][j]) % 7;
                        }
                }
        }
        a = ans;
}
inline Matrix power(Matrix a,int n)
{
        Matrix ans,b = a;
        ans.mat[1][1] = 1; ans.mat[1][2] = 0;
        ans.mat[2][1] = 0; ans.mat[2][2] = 1;
        while (n)
        {
                if (n & 1) multipy(ans,b);
                n >>= 1;
                multipy(b,b);
        }
        return ans;
}
int main() 
{
        
        while (scanf("%d%d%d",&a,&b,&n) != EOF)
        {
                if (!a && !b && !n) break;
                if (n <= 2)
                {
                     printf("%d\n",1);
                     continue;
                }
                ans.mat[1][1] = a; ans.mat[1][2] = b;
                ans.mat[2][1] = 1; ans.mat[2][2] = 0;
                ans = power(ans,n-2);
                printf("%d\n",(ans.mat[1][1]+ans.mat[1][2])%7);        
        }
        
        return 0;
    
}