CH0101のA ^ B高速電力

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/weixin_45508368/article/details/99095371

トピックリンク

http://noi-test.zzstep.com/contest/0x00%E3%80%8C%E5%9F%BA%E6%9C%AC%E7%AE%97%E6%B3%95%E3%80%図8D%E4は%%8B%E9%A2%98/0101パーセント20aは%の5EB BE

分析

高速電力テンプレート、注目の中間結果がオーバーフローする可能性があり、同様に考慮すること B = 0 P = 1 B = 0、p = 1 特殊な状況。

ACコード

#include <cstdio>

inline int read() {
	int num = 0;
	char c = getchar();
	while (c < '0' || c > '9') c = getchar();
	while (c >= '0' && c <= '9')
		num = num * 10 + c - '0', c = getchar();
	return num;
}

inline int qpow(int a, int b, int p) {
	int ans = 1, x = a % p;
	while (b) {
		if (b & 1) ans = 1ll * ans * x % p;
		x = 1ll * x * x % p, b >>= 1;
	}
	return ans % p;
}

int main() {
	int a = read(), b = read(), p = read();
	printf("%d", qpow(a, b, p));
	return 0;
}

おすすめ

転載: blog.csdn.net/weixin_45508368/article/details/99095371