版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Little_Small_Joze/article/details/79422033
Jzzhu has invented a kind of sequences, they meet the following property:
You are given x and y, please calculate fn modulo 1000000007 (109 + 7).
InputThe first line contains two integers x and y (|x|, |y| ≤ 109). The second line contains a single integer n (1 ≤ n ≤ 2·109).
Output a single integer representing fn modulo 1000000007 (109 + 7).
Input
2 3 3
Output
1
Input
0 -1 2
Output
1000000006
In the first sample, f2 = f1 + f3, 3 = 2 + f3, f3 = 1.
In the second sample, f2 = - 1; - 1 modulo (109 + 7) equals (109 + 6).
AC C++
#include <iostream>
#define m 1000000007
using namespace std ;
long long a,b,n;
int main()
{
cin>>a>>b>>n;
n--;
n=n % 6;
long long ans=0;
switch(n)
{
case 0:
{
ans=(a+m)%m;
break;
}
case 1:
{
ans=(b+m)%m;
break;
}
case 2:
{
ans=(b-a+2*m)%m;
break;
}
case 3:
{
ans=(m-a)%m;
break;
}
case 4:
{
ans=(m-b)%m;
break;
}
case 5 :
{
ans=(a-b+2*m)%m;
break;
}
}
cout<<ans<<endl;
return 0;
}