竞赛
考级
无敌的鳖佬仔给老爷爷猜猜被
#include<bits/stdc++.h> using namespace std; int main(){ long long a,b;cin>>a>>b; if(a= =2 and b==20){ cout<<1048576; }else { cout<<pow(a,b); } return 0; }
Null
快速幂 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 其实快速幂很简单, 只需将一个幂拆解即可。 * 例: Ab=(Ab/2)2=((Ab/4)2)2=⋅⋅⋅⋅⋅⋅A^b =(A^{b/2})^2 = ((A^{b/4})^2)^2 = ······Ab=(Ab/2)2=((Ab/4)2)2=⋅⋅⋅⋅⋅⋅ 直到指数为0 所以当 b≡0(mod2)b \equiv 0 \pmod{2}b≡0(mod2) 时可以得到以下代码: * 注 :b>>1b>>1b>>1 可视为 b/2b/2b/2 那如果 b≡1(mod2)b \equiv 1 \pmod{2}b≡1(mod2) 怎么办呢? 只需将 AbA^bAb 转换为 A∗Ab−1A*A^{b-1}A∗Ab−1就行了 于是,我们便得出核心代码 整理代码:
hyk
zsy
李伙子ia
提交答案之后,这里将显示提交结果~