#include<bits/stdc++.h>
using namespace std;
int a[4];
long long ksm(long long a,long long b){
long long result=1;
while(b){
if(b%2!=0){
result=result*a%200907;
b--;
}
a=a*a%200907;
b/=2;
}
return result;
}
int main(){
long long n,k;
cin>>n;
for(long long i=1;i<=n;i++){
cin>>a[1]>>a[2]>>a[3]>>k;
if(a[2]-a[1]==a[3]-a[2]){
int nk=(a[1]+(k-1)*(a[3]-a[2]))%200907;
cout<<nk<<endl;
}
else if(a[2]/a[1]==a[3]/a[2]){
if(k<=3) cout<<a[k]<<endl;
else{
cout<<(a[1]*ksm(a[2]/a[1],k-1))%200907<<endl;
}
}
}
return 0;
}
1615:【例 1】序列的第 k 个数(快速幂)
最新推荐文章于 2022-04-07 17:11:21 发布