loj10193. 「一本通 6.1 例 1」序列的第 k 个数
Posted junk_yao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了loj10193. 「一本通 6.1 例 1」序列的第 k 个数相关的知识,希望对你有一定的参考价值。
思路:
简单地快速幂一下就完了。
#include<cstdio> #include<iostream> using namespace std; const long long mod = 200907; long long quickpow(long long a, long long b, long long p){ long long res = 1; while(b){ if(b & 1) res = res * a % p; a = a * a % p; b >>= 1; } return res; } long long T; int main(void){ cin >> T; while(T--){ long long a, b, c, k; cin >> a >> b >> c >> k; if(c - b == b - a){ printf("%lld\n", (a + ((k - 1) % mod) * ((c - b) % mod)) % mod); } else{ printf("%lld\n", ((a % mod) * (quickpow((c / b) % mod, k - 1, mod)) % mod)); } } }
以上是关于loj10193. 「一本通 6.1 例 1」序列的第 k 个数的主要内容,如果未能解决你的问题,请参考以下文章
loj10194. 「一本通 6.1 练习 1」A 的 B 次方