hduojA sequence of numbers
水题快速幂http://acm.hdu.edu.cn/showproblem.php?pid=2817
根据条件判断是等差还是等比就ok了;
Talk is cheap. Show me the code.
#include<bits/stdc++.h> using namespace std; typedef long long ll; long long fastpow(long long a,long long b) { long long base=a;//底数 long long res=1;//结果 while(b) { if(b&1)//如果这一位是,就要对结果进行累乘了 res=(base*res)%m; base=(base*base)%m;//递推运算,a^2->a^4->a^8->a^16 b=b>>=1;//进行位移运算 } return res; } int main() { std::ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); long long n; cin>>n; while(n--) { ll a,b,c,k; cin>>a>>b>>c>>k; ll ans=0; if(b-a==c-b) { ll d=b-a; ans=(a+(k-1)*d)%200907; cout<<ans<<endl; } else if(b/a==c/b) { ll q=b/a; ans=(a*fastpow(q,k-1))%200907; cout<<ans<<endl; } } return 0; }
本文来自博客园,作者:江上舟摇,转载请注明原文链接:https://www.cnblogs.com/LQS-blog/p/16219081.html