题解 | #求root(N, k)#

求root(N, k)

https://www.nowcoder.com/practice/9324a1458c564c4b9c4bfc3867a2aa66

#include<iostream>
typedef long long LL;
using namespace std;

int qpow(LL x,LL y,LL k)
{
	if(y == 0) return 1;
	if(y % 2 == 0) {
		LL temp = qpow(x,y / 2,k);
		return temp % (k - 1) * temp;
	}else{
		LL temp = qpow(x, y - 1,k);
		return temp * x % (k - 1);
	}
}

int main(void)
{
	LL x,y,k;
	while(cin >> x >> y >> k)
	{
		LL ans = qpow(x,y,k) % ( k - 1);
		if(ans == 0) cout << k - 1 << endl;
		else cout << ans << endl;
	}
	return 0;
}

全部评论

相关推荐

每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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