华师一附中OI组
标题:
P1226 取余运算||快速幂
[打印本页]
作者:
admin
时间:
2018-6-29 17:27
标题:
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
作者:
倚窗倾听风吹雨
时间:
2018-7-2 20:57
#include<iostream>
using namespace std;
long long int b,aa,p,k;
int i,j;
long long int ksm(long long int a,long long int c,long long int d)
{
int t=1;aa=a;
while(c>0)
{
if(c%2!=0)t=t*aa%k;
aa=aa*aa%k;c=c/2;
}
return t%k;
}
int main()
{
cin>>b>>p>>k;
cout<<b<<"^"<<p<<" mod "<<k<<"="<<ksm(b,p,k);
return 0;
}
复制代码
作者:
WJL
时间:
2018-8-14 20:53
#include<iostream>
using namespace std;
long long b,p,k;
long long aa,bb,cc;
long long ans;
int main()
{
cin>>b>>p>>k;
aa=b;
bb=p;
long long ans=1;
while(bb>0)
{
if(bb%2==1)
ans=ans%k*aa%k;
aa=aa%k*aa%k;
bb/=2;
}
ans=ans%k;
cout<<b<<"^"<<p<<" mod "<<k<<"="<<ans;
return 0;
}
复制代码
欢迎光临 华师一附中OI组 (http://hsyit.cn/)
Powered by Discuz! X3.2