原理:将一个数的幂分解为二进制进行处理,同一位幂只需处理一次,出去了两两相乘的重复操作;
呈上代码: int quickpow(int q,int n){ \n为幂次,q为底数 int result=1; while(n){ \n大于1时 \位运算,当n二进制末位为1时 if(n&1){ result*=q;
} q*=q; n>>=1; } return result; }