Я прошу прощения за плохие имена переменных, но другие не пришли на ум.
Для справки я только в 11 году (мне 15 лет), поэтому я также прошу прощения за любые плохие математики или программированияздесь.
В основном я использую прикрепленное изображение png в качестве формулы, я предполагаю, что это правильное значение, так как значение x2 найдено правильно, но я нахожу тот факт, что x2 работает, а x3 - нетт, или даже x1.
Любая помощь здесь будет оценена. Это формула, которую я использовал.
Вот мой код:
print("Make sure the equation is equal to 0.")
a = float(input("What is the x cubed coefficient?"))
b = float(input("What is the x squared coefficient?"))
c = float(input("What is the x coefficient?"))
d = float(input("What is the final number?"))
## Finding x1.
FirstPart = -1*(b/(3*a))
SecondPart = -1*(1/(3*a))
ThirdPart = 2*(b**3) - (9*a*b*c) + (27*(a**2)*d)
FourthPart = ThirdPart**2
FithPart = -4*(((b**2) - (3*a*c))**3)
SixthPart = (1/2) * (ThirdPart + ((FourthPart + FithPart)**(1/2)))**(1/3)
SeventhPart = (1/2) * (ThirdPart - ((FourthPart + FithPart)**(1/2)))**(1/3)
x1 = FirstPart + (SecondPart * SixthPart) + (SecondPart * SeventhPart)
## Finding x2 and x3.
EighthPart = (1 + (1j * (3**(1/2)))) / (6*a)
NinethPart = (1 - (1j * (3**(1/2)))) / (6*a)
x2 = FirstPart + (EighthPart * SixthPart) + (NinethPart * SeventhPart)
x3 = FirstPart + (NinethPart * SixthPart) + (EighthPart * SeventhPart)
print(x1.real, x2.real, x3.real)
input()