一个数number的n次幂 python的pow函数
2021-01-24 19:14
标签:技术 方法 etc nta tps 函数 通过 位运算 ade @ 不是常规意义上的暴力,过程中通过动态调整底数的大小来加快求解。代码如下: 如果n为偶数,则pow(x,n) = pow(x^2, n/2); 迭代代码如下: python位运算符简介. 其实跟上面的方法类似,只是通过位运算符判断奇偶性并且进行除以2的操作(移位操作)。代码如下: 一个数number的n次幂 python的pow函数 标签:技术 方法 etc nta tps 函数 通过 位运算 ade 原文地址:https://www.cnblogs.com/nangec/p/12864416.html
实现 pow(x, n),即计算 x 的 n 次幂函数。其中n为整数。
链接: pow函数的实现——leetcode.
解法1:暴力法
def my_pow(number, n):
judge = True
if n 0:
if n >= count:
result *= temp
temp = temp * number
n -= count
count += 1
else:
temp /= number
count -= 1
return result if judge else 1/judge
解法2:根据奇偶幂分类(递归法,迭代法,位运算法)
如果n为奇数,则pow(x,n) = x*pow(x^2, (n-1)/2)。class MyPow:
def my_pow(self, number, n):
if n
class MyPow:
def my_pow(self, number, n):
judge = True
if n 0:
if n%2 == 0:
number *= number
n //= 2
result *= number
n -= 1
return result if judge else 1/result
class Solution:
def myPow(self, x: float, n: int) -> float:
judge = True
if n 0:
if n & 1: #代表是奇数
final *= x
x *= x
n >>= 1 # 右移一位
return final if judge else 1/final
上一篇:排序算法-堆排序
文章标题:一个数number的n次幂 python的pow函数
文章链接:http://soscw.com/index.php/essay/46452.html