题目
思路
快速幂版题
代码
#include<iostream>
using namespace std;
const int mod=200907;
#define int long long
int t;
int a,b,c,k;
int qkpow(int a,int b)
{
if(b==0)
return 1;
if(b==1)
return a;
int t=qkpow(a,b/2);
t=(t*t)%mod;
if(b%2==1)
t=(t*a)%mod;
return t;
}
signed main()
{
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>a>>b>>c>>k;
if(b-a==c-b)
{
int d=b-a;
cout<<(a+(d*(k-1ll))%mod)%mod<<'\n';
}
else
{
cout<<(a*qkpow(b/a,k-1))%mod<<'\n';
}
}
return 0;
}