50. Pow(x, n)

Implement pow(x, n).
实现x的n次方。
利用x^n = x^(n/2) * x^(n/2) *x^(n%2),使用分治法完成。

var myPow = function(x, n) {
    //n<0时使用数学方法转为正的
    if(n < 0) return 1 / myPow(x,-n);
    //n = 0,1时直接返回
    if(n === 0) return 1;
    if(n === 1) return x;
    // 递归
    // x^n = x^(n/2) * x^(n/2) *x^(n%2)
    var sub = myPow(x,parseInt(n / 2));
    return  sub * sub * myPow(x,n % 2);
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • LeetCode 50 Pow(x, n) Implement pow(x, n). 遇到math类的题,比如po...
    ShuiLocked阅读 2,056评论 1 2
  • 题目描述 Implement pow(x, n).实现x的n次方计算 问题分析 暴力求解 考虑极端输入:2.1 结...
    一里山阅读 355评论 0 0
  • Implement pow(x, n). Hide Company TagsLinkedIn Google Blo...
    番茄晓蛋阅读 264评论 2 1
  • 题目 Implement pow(x, n). 分析 将幂转化为2的次方即可。举例为:x10=(x5)2=((x2...
    persistent100阅读 280评论 0 0
  • 昔日欢颜待字闺, 深出浅入细画眉。 于今春秋等闲度, 盼若归宁几日回。
    喵先生如是说阅读 329评论 0 1

友情链接更多精彩内容