代码如下:
import random
p = random.randint(1,10)
q = random.randint(1,10)
#p = 0
#q = 1
print("p = ", p)
print("q = ", q)
#dr为判别式
dr = (q/2)**2 + (p/3)**3
print("dr = ", dr)
u = (-q/2 + dr**0.5)**(1/3)
v = (-q/2 - dr**0.5)**(1/3)
print("u = ", u)
print("v = ", v)
x = u + v
print("x = ", x)
#zero用于判断所求x是否为 x**3 + p * x + q的根
zero = x**3 + p * x + q
print("zero = ", zero)
运行结果如下:
当p = 0,q = 1时效果还好,但是换其他数字时偏差就很大了
请问为什么会这样,如何解决?