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

时间:2023-03-09 14:52:09
P1226 【模板】快速幂||取余运算

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

模板题 直接上代码吧

#include<bits/stdc++.h>

using namespace std;

int main()
{
long long int c,b,p,k,base,ans=;
cin>>b>>p>>k;
c=p,base=b;
while(p>)
{
if(p&)
{
ans*=base;
ans%=k;
}
base*=base;
base%=k;
p>>=;
}
ans%=k;
printf("%lld^%lld mod %lld=%lld",b,c,k,ans);
}

最后结束循环之后一定要加上这句 ans%=k; 不然输入如果是 1 0 1时就会报错 算是一个坑点