我们在使用计算器或者写代码的时候,开方运算往往只需要输入相应的数和运算符或写相应的函数就可以了,但是大家有没有想过,它是怎么计算出来的呢?
比如下面这段代码:
import numpy as np
a = np.power(2, 0.5)
print(a)
>>> 1.4142135623730951
接下来,我就用Python给大家演示一下,计算器或计算机是怎么进行开方运算的,当然,我写的方法只是其中一种方法:
def Square(y: int, n: int): # x开n次方,假设开方的最大误差是0.0001
if n == 1:
return y
if n == 0:
return 1
stop = False
x1 = y / n
x2 = y
while stop is False:
loss = x1 ** n - y
if loss > 0.0001:
x2 = x1
x1 = x1 / 2
continue
if loss < -0.0001:
x1 = (x1 x2) / 2
continue
stop = True
return x1
我们尝试运算一下给2开平方,调用上面的函数:
a = Square(2, 2)
print(a)
>>> 1.4142259118192888
我可以看到和Numpy计算的结果差不多。