一般的 int ppow(int a, int b) { int ans = 1; for (int w = a; b;w*=w, b>>=1) if (b & 1)ans *= w; return ans; } 带取模的 int ppow(int a, int b, int mod) { int ans = 1; for (int w = a; b;w=(w*w)%mod, b>>=1) if (b & 1)ans *= w, ans %= mod; return ans; }//其中w*w可能会超int 一般我们用long long