#include<bits/stdc++.h>
using namespace std;
void Matrix(long long int (&a)[2][2],long long int b[2][2])
{
int tmp[2][2]={0};
for(long long int i=0;i<2;i++)
{
for(long long int j=0;j<2;j++)
{
for(long long int k=0;k<2;k++)
tmp[i][j]=(tmp[i][j]+a[i][k]*b[k][j])%7;
}
}
for(long long int i=0;i<2;i++)
{
for(long long int j=0;j<2;j++)
{
a[i][j]=tmp[i][j];
}
}
}
int main()
{
long long int A,B,N;
while(cin>>A>>B>>N&&(A!=0||B!=0||N!=0)){
long long int temp[2][2]={A,B,1,0},cot[2][2]={1,0,0,1};
long long int n=N-2;
if(N>2)
{
while(n)
{
if(n&1) Matrix(cot,temp);
Matrix(temp,temp);
n/=2;
}
cout<<(cot[0][0]+cot[0][1])%7<<endl;
}
if(N==1||N==2)
cout<<1<<endl;
}
}
杭电oj1005
最新推荐文章于 2021-02-13 20:01:47 发布