您当前的位置: 首页 > 

MangataTS

暂无认证

  • 0浏览

    0关注

    423博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

AcWing 875. 快速幂

MangataTS 发布时间:2022-02-12 14:58:39 ,浏览量:0

题目链接

https://www.acwing.com/problem/content/877/

思路

思路大概就是幂数转化为二进制,然后我们用一个变量记录累乘的结果,然后位权为1的时候我们就将ans更新即可,详情可以看我这一篇博客:https://acmer.blog.csdn.net/article/details/122280910

代码
#include 
using namespace std;
#define ll long long

int n;
ll a,b,p;

ll ksm(ll a,ll b,ll p){
	ll ans = 1LL;
	while(b) {
		if(b & 1) ans = (ans * a) % p;
		b >>= 1; a = (a * a) % p;
	}
	return ans;
}

int main()
{
	scanf("%d",&n);
	while(n--){
		scanf("%lld %lld %lld",&a,&b,&p);
		printf("%lld\n",ksm(a,b,p));
	}
	
	return 0;
}
关注
打赏
1665836431
查看更多评论
立即登录/注册

微信扫码登录

0.0360s