文章

7

粉丝

211

获赞

10

访问

37.0k

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

#include<iostream>
using namespace std;
// 要用到快速幂 和同余模定理

typedef long long ll;
// 快速幂模板
ll mod_pow(ll x, ll y, ll mod) {
	ll res = 1;
	while (y > 0) {
		//如果二进制最低位为1、则乘上x^(2^i)  
		if (y & 1) res = res * x % mod;
		x = x * x % mod;  // 将x平方  
		y >>= 1; // y/=2
	}
	return res;
}

int main() {
	int T;
	ll a, b, c, k;
	int m = 200907;
	ll d;
	while (cin >> T) {
		while (--T >= 0) {
			cin >> a >> b >> c >> k;
			if (a + c == 2 * b)
				d = (a%m + (((k - 1) % m)*((b - a) % m)) % m) % m; // 等差数列
			else
				d = (a%m * mod_pow(b / a, k - 1, m)) % m; // 等比数列
			cout << d << endl;
		}
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发