快速幂

原理:将一个数的幂分解为二进制进行处理,同一位幂只需处理一次,出去了两两相乘的重复操作;

             呈上代码:
        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;
        }
posted @ 2020-08-16 11:46  Auterman  阅读(179)  评论(0编辑  收藏  举报