题解 | #快速幂#

快速幂

https://www.nowcoder.com/practice/defdedf4fe984c6c91eefa6b00d5f4f0

#include <iostream>
using namespace std;
typedef long long ll;
//快速幂FastPower
ll fp(ll a, ll b, ll c)
{
	ll ans = 1;
	while (b)
	{
		if (b & 1)//如果b是奇数,二进制末位是1
		{
			ans*= a;
		}
		ans %= c;//取模防止超范围
		a = ((a%c)*(a%c))%c;
		b>>=1;//右移一位
	}
	return ans%c;
}
int main() {
	ll a, b, q, p;
	cin >> q;
	while (q--)
	{
		cin >> a >> b >> p;
		cout << fp(a, b, p)<<endl;
	}
	return 0;
}


全部评论

相关推荐

nus2201602...:兄弟,你这个简历撕了丢了吧,就是一坨,去找几个项目,理解项目流程,看几遍就是你的了,看看八股就去干了,多看看牛客里别人发出来的简历,对着写,你这写的啥啊,纯一坨
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务