文章

7

粉丝

211

获赞

21

访问

38.8k

头像
要用到快速幂 和同余模定理
推荐阅读
P1859
发布于2022年3月18日 21:08
阅读数 4.3k

  1. #include<iostream>
  2. using namespace std;
  3. // 要用到快速幂 和同余模定理
  4. typedef long long ll;
  5. // 快速幂模板
  6. ll mod_pow(ll x, ll y, ll mod) {
  7. ll res = 1;
  8. while (y > 0) {
  9. //如果二进制最低位为1、则乘上x^(2^i)
  10. if (y & 1) res = res * x % mod;
  11. x = x * x % mod; // 将x平方
  12. y >>= 1; // y/=2
  13. }
  14. return res;
  15. }
  16. int main() {
  17. int T;
  18. ll a, b, c, k;
  19. int m = 200907;
  20. ll d;
  21. while (cin >> T) {
  22. while (--T >= 0) {
  23. cin >> a >> b >> c >> k;
  24. if (a + c == 2 * b)
  25. d = (a%m + (((k - 1) % m)*((b - a) % m)) % m) % m; // 等差数列
  26. else
  27. d = (a%m * mod_pow(b / a, k - 1, m)) % m; // 等比数列
  28. cout << d << endl;
  29. }
  30. }
  31. return 0;
  32. }

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发