72分求助
查看原帖
72分求助
601527
zhuzl009楼主2022/7/17 11:55
#include <iostream>

using namespace std;
typedef long long ll;
ll b, p, k;

ll q_pow(int b, int p, int k) {
	int ans = 1 % k, wt = b % k;
	while(p > 0) {
		if(p & 1) ans = ans % k * wt % k;
		wt = wt % k * wt % k;
		p >>= 1;
	}
	return ans;
} 


int main() {
	scanf("%lld%lld%lld", &b, &p, &k);
	
	printf("%lld^%lld mod %lld=%lld", b, p, k, q_pow(b, p, k));
	return 0;
} 
2022/7/17 11:55
加载中...