文章

47

粉丝

109

获赞

8

访问

29.3k

头像
幂次方 题解:
P1017 贵州大学机试题
发布于2024年3月16日 17:00
阅读数 759

#include<stdio.h>
long long int pow_mod(long long int x, long long int n,long long int mod) {
	
	long long int ans = 1;
	////为了满足求模运算的规则:(a*b)%p=((a%p) * (b%p))%p
	x = x % mod;
	while (n>0) {
		if (n % 2 == 1) {
			ans = (ans * x) % mod;//n转换成二进制,除下来这个位是1
		}
		x = (x * x) % mod;
		n = n>>1  ;//n变成二进制整体右移 等同于 n = n/2; 
	}
	return ans;
	
}
int main() {

	long long int x, n;
	scanf("%lld %lld", &x, &n);
	printf("%lld",pow_mod(x, n, 233333));
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发