【模板】快速幂||取余运算
题目描述
输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。
输入输出格式
输入格式:
三个整数b,p,k.
输出格式:
输出“b^p mod k=s”
s为运算结果
#include<iostream>
using namespace std;
int s(long long num,long long n,long long p)
{
long long ss=1;
if(n)
{
while(n)
{
if(n%2==1)
ss=(ss*num)%p;
num=(num*num)%p;
n/=2;
}
return ss;
}
else
return 1%p;
}
int main()
{
long long a,b,p;
cin>>a>>b>>p;
cout<<a<<'^'<<b<<" mod "<<p<<'='<<s(a,b,p);
return 0;
}