热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

高级编程作业Leetcode50.Pow(x,n)

实现pow(x,n),即计算x的n次幂函数。解题思路除了用不断乘以n-1次x以外,可以采用类似于快速幂的算法减少运算次

实现  pow(x, n)  ,即计算 x 的 n 次幂函数。
解题思路

除了用不断乘以n-1次x以外,可以采用类似于快速幂的算法减少运算次数,核心在于用平方使得指数减半
源代码
class Solution:
    def myPow(self, x, n):
        """
        :type x: float
        :type n: int
        :rtype: float
        """
        result=1  
        if n<0:  
            n=-n  
            flag=1  
        else:  
            flag=0  
        while n>=1:  
            if n%2 == 1:  
                result=result*x  
            x=x*x  
            n = int(n/2) 
        if flag==0:  
            return result  
        else:  
            return 1.0/result  


推荐阅读
author-avatar
Matherslll_493
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有