x^n的算法—python
参考链接@小泡芙吖
三种方法的原理都是一样的
对于n,先将其换成二进制形式,在这里举个例子,假设n=11,其二进制形式是1011
从左边数的第二位开始,若等于0,则对x进行平方,若为1,则先对当前结果进行平方,再乘上x。
方法一:
# 11 -> 1011
# x^11=(((x)^2)^2*x)^2*2
def do(x, n):
b = []
res = 1
while n > 0:
b.append(n % 2)
n //=
转载
2020-09-28 21:27:22 ·
3429 阅读 ·
0 评论