• Предмет: Информатика
  • Автор: pvana4544
  • Вопрос задан 3 месяца назад

треба решить мовою пайтон

Приложения:

ILFV183: a, b, c вводит пользователь?
pvana4544: нет

Ответы

Ответ дал: budzsergiy777p0i27m
0

Відповідь:from math import sqrt

# coefficients of quadratic equation

a = 1.0

b = 2.0

c = -3.0

# calculate discriminant

d = b ** 2 - 4 * a * c

# check if roots exist

if d > 0:

   # calculate two roots

   x1 = (-b + sqrt(d)) / (2 * a)

   x2 = (-b - sqrt(d)) / (2 * a)

   print(f"The two roots are: {x1:.2f} and {x2:.2f}")

elif d == 0:

   # calculate one root

   x = -b / (2 * a)

   print(f"The one root is: {x:.2f}")

else:

   # no real roots

   print("No roots exist.")

Пояснення:

Цей код додатково перевіряє, чи є корені в рівнянні, перед тим, як продовжувати. Якщо дискримінант d більше нуля, то рівняння має два корені, і ми знаходимо їх використовуючи формули (-b - cmath.sqrt(d)) / (2 * a) та (-b + cmath.sqrt(d)) / (2 * a) і виводимо їх у форматі float. Якщо дискримінант дорівнює нулю, то рівняння має один корінь, і ми знаходимо його використовуючи формулу -b / (2 * a) і виводимо у форматі float. Якщо дискримінант менше нуля, то рівняння не має дійсних коренів, і ми виводимо повідомлення про те, що коренів немає.


ILFV183: зачем вы используюте sqrt, если можно просто возвести число в степень 0,5, ответ будет такой же но программа работать будет быстрее
Ответ дал: egoregdark
0

Ответ:

from math import sqrt
a = int(input('a = '))  # Ввод a
b = int(input('b = '))  # Ввод b

c = int(input('c = '))  # Ввод c
d = b**2 - 4*a*c  # дискриминант
if d > 0:  # если дискриминант больше нуля, два корня
   x1 = (-b + sqrt(d)) / (2 * a)
   x2 = (-b - sqrt(d)) / (2 * a)
   print('x1 =', x1, 'x2 =', x2)
elif d == 0:  # если равен нулю, один корент
   x1 = -b / (2 * a)
   print('x1 =', x1)
else:  # если меньше нуля, корней нету
   print('Уравнение не имеет корней')


Можно заменить строки с вводом на свои числа, тогда пользователь сразу получит результат без своего ввода.

Вас заинтересует