Специально для данного юзера.
За что все фанатики Хауди Хо любят Python?
Так это за его "простоту" и тупой синтаксис.
Так вот. Как в один клик решить теорему Виета?
К слову, точность 0,001
Для начала делаем ген чисел
Python:
import decimal
while x < y:
yield float(x)
x += decimal.Decimal(jump)
Далее просто подбор корней.
Python:
D = (b**2 - 4*a*c)**0.5
x1 = x2 = 0
points = [i for i in drange(-5, 5, '0.001')]
if D > 0:
for i in points:
x1 = i
for j in points:
x2 = j
if round(x1 + x2, 2) == round(-b / a, 2) and round(x1 * x2, 2) == round(c / a, 2):
return x1, x2
В строчке points = [i for i in drange(-5, 5, '0.001')] можно выставить точность.
Далее обычный вывод.
Далее обычный вывод.
Python:
a, b, c = float(input('a = ')), float(input('b = ')), float(input('c = '))
print(teoremavieta(a, b, c))
Фулл код!
Python:
def drange(x, y, jump) -> float:
import decimal
while x < y:
yield float(x)
x += decimal.Decimal(jump)
def teoremavieta(a, b, c):
D = (b**2 - 4*a*c)**0.5
x1 = x2 = 0
points = [i for i in drange(-5, 5, '0.001')]
if D > 0:
for i in points:
x1 = i
for j in points:
x2 = j
if round(x1 + x2, 2) == round(-b / a, 2) and round(x1 * x2, 2) == round(c / a, 2):
return x1, x2
if D == 0:
for i in points:
x1 = i
if round(2 * x1,1 2) == round(-b / a, 2) and round(x1 ** 2, 2) == round(c / a, 2):
return x1
if D < 0:
print('Корни отсутствуют')