P1226 【模板】快速幂||取余运算

https://www.luogu.org/problemnew/show/P1226

题目描述

输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。

输入输出格式

输入格式:

 

三个整数b,p,k.

 

输出格式:

 

输出“b^p mod k=s”

s为运算结果

 

输入输出样例

输入样例#1: 复制

2 10 9

输出样例#1: 复制

2^10 mod 9=7

代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	long long int b,p,k;
	cin>>b>>p>>k;
	long long int x=p;
	long long int ans=1,base=b;
	while(p)//快数幂
	{
		if(p%2==1)
		{
			ans*=base;
			ans%=k;
			base=base%k;
		}
		base*=base;
		base=base%k;
		p/=2;
	}
	ans=ans%k;
	cout<<b<<"^"<<x<<" mod "<<k<<"="<<ans;
}

 

全部评论

相关推荐

码农索隆:想看offer细节
点赞 评论 收藏
分享
求offer的大角牛:简历写的第一乱,没有突出重点,第二项目太多太杂看不出来有啥核心技术,第三自我评价太多了,第四获得的荣誉没啥含金量,可以不写,反正问题不少
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 17:51
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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