一元三次方程py代码(很人性)-不良女房客漫画
以下是可以解一元三次方程的py代码:
a=float(input("请在此处输入三次项系数a:"))
b=float(input("请在此处输入二次项系数b:"))
c=float(input("请在此处输入一次项系数c:"))
d=float(input("请在此处输入常数项d:"))
i=(-1)**0.5
u=((9*a*b*c)-(27*a**2*d)-(2*b**3))/(54*a**3)
v=((3*(4*a*c**3-(b**2*c**2)-(18*a*b*c*d)+(27*a**2*d**2)+(4*b**3*d)))**0.5)/(18*a**2)
if abs(u+v)>=abs(u-v):
m=(u+v)**(1/3)
if abs(m)==0:
n=0
else:
n=((b**2)-(3*a*c))/(9*a**2*m)
w=-(1/2)+(3**0.5/2)*i
p=-(1/2)-(3**0.5/2)*i
sol1=m+n-(b/(3*a))
sol2=w*m+p*n-(b/(3*a))
sol3=p*m+w*n-(b/(3*a))
print("此方程的解为:","\n","x1=",sol1,"\n","x2=",sol2,"\n","x3=",sol3)
else:
m=(u-v)**(1/3)
if abs(m)==0:
n=0
else:
n=((b**2)-(3*a*c))/(9*a**2*m)
w=-(1/2)+(3**0.5/2)*i
p=-(1/2)-(3**0.5/2)*i
sol1=m+n-(b/(3*a))
sol2=w*m+p*n-(b/(3*a))
sol3=p*m+w*n-(b/(3*a))
print("此方程的解为:","\n","x1=",sol1,"\n","x2=",sol2,"\n","x3=",sol3)
此代码是按如下公式编写的