#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