luogu P1226 取余运算||快速幂
Posted Nico&11101001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了luogu 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<cstdio> #include<iostream> using namespace std; int b,p,k; #define LL long long LL q_pow(LL x,LL y) { LL ans=1,base=x; while(y!=0) { if(y&1)ans=(ans*base)%k; base=(base*base)%k; y>>=1; } return ans; } int main() { cin>>b>>p>>k; cout<<b<<"^"<<p<<" mod "<<k<<"="<<q_pow(b,p)%k; return 0; }
以上是关于luogu P1226 取余运算||快速幂的主要内容,如果未能解决你的问题,请参考以下文章