题解 | #快速幂#
快速幂
https://www.nowcoder.com/practice/defdedf4fe984c6c91eefa6b00d5f4f0
#include <iostream> using namespace std; #define ll long long ll add(ll&,ll&,ll&); int main() { int q; cin>>q; ll a, b, p; while (q--) { // 注意 while 处理多个 case scanf("%lld%lld%lld",&a,&b,&p); ll res=add(a,b,p); printf("%lld\n",res); } } ll add(ll&a,ll&b,ll&q){ ll res=1; while(b){ if(b&1){ res=res*a%q; } a=a*a%q; b=b>>1; } return res; } // 64 位输出请用 printf("%lld")