#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <iostream>
using namespace std;
const int mod=200907;
long long quickpow(long long m,long long n)
{
long long ans=1;
while(n)
{
if(n&1)
ans=(ans%mod)*(m%mod)%mod;
n=n>>1;
m=(m*m)%mod;
}
return ans;
}
int main()
{
long long n,a,b,c,d,q,k,ans;
cin>>n;
while(n--)
{
cin>>a>>b>>c>>k;
if(a+c==2*b)
{
d=b-a;
ans=(a+(k-1)*d)%mod;
cout<<ans<<endl;
continue;
}
q=b/a;
ans=a*quickpow(q,k-1)%mod;
cout<<ans<<endl;
}
}
hdu 2817 A sequence of numbers
原文:http://blog.csdn.net/notdeep__acm/article/details/39258227