leetcode:pow(x, n)

来源:互联网 发布:主机屋空间绑域名 编辑:程序博客网 时间:2024/05/17 22:31

Implement pow(x, n).

直接二分的方法进行pow的实现,如果学习过基本数论的话,其实这是模平方重复法的一种变形吧,

ACM的人叫做是快速幂



<span style="font-size:18px;">public class Solution {    public double pow(double x, int n) {        double ans = 1;        boolean flag = n < 0 ? true : false;        long nn = Math.abs(n + 0L);        while(nn != 0){            if( (nn & 01) == 1) ans *= x;            x *= x;            nn = nn >> 1;        }        return flag ? 1.0 / ans : ans;    }}</span>


0 0
原创粉丝点击