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;
}

博客围绕洛谷题目P1226展开,题目要求输入b、p、k的值,计算b^p mod k的值,其中b、p、k*k为长整型数。还给出了输入输出格式,输入为三个整数b、p、k,输出为“b^p mod k=s”,s为运算结果。
490

被折叠的 条评论
为什么被折叠?



