题解 | #【模板】快速幂Ⅰ ‖ 整数#
【模板】快速幂Ⅰ ‖ 整数
https://www.nowcoder.com/practice/3d624107a6904da1bd0e8c9c85e17167
#include <iostream> using namespace std; int T; long long p; long long qpow(long long a,long long b){ long long q=1; while(b){ if(b&1)q=(q*a)%p; a=(a*a)%p; b>>=1; }return q; } int main() { long long a,b; cin>>T; while(T--){ cin>>a>>b>>p; cout<<(qpow(a,b))%p<<endl; } } // 64 位输出请用 printf("%lld")
主要是取模花的时间最多,快速幂模版,加对a幂数、q结果取模,这试了好一会儿,之前没发现a也要取模,溢出了,还有传入的时候不用取模