powrót
Niezbędne wzory zostały wyjaśnione w tym miejscu. W tym artykule została przedstawiona implementacja w języku Python.
Zadanie
Dla podanych trzech liczb całkowitych a, b oraz c, będących współczynnikami funkcji kwadratowej $$f(x)=ax^2+bx+c,\ a\neq0$$wyznacz jej pierwiastki.
Wejście
Trzy liczby całkowite.
Wyjście
Pierwiastki funkcji kwadratowej w szyku rosnącym (w przypadku dwóch pierwiastków) lub napis brak, jeśli funkcja ich nie posiada.
# --------------------algorytm.edu.pl---------------------
from math import sqrt
# -----------------główna część programu------------------
a, b, c = map(int, input().split())
delta = b * b - 4 * a * c # wyznaczamy deltę
if delta < 0:
print("brak")
elif delta == 0:
print(-b/(2*a))
else:
delta = sqrt(delta)
x1 = (-b - delta)/(2*a)
x2 = (-b + delta)/(2*a)
if x1 > x2: # ustawiamy pierwiastki w odpowiedniej kolejności
x1, x2 = x2, x1
print(x1, x2)
Przykład
Wejście
1 2 1
Wyjście
-1.0
-
Import modułu sqrt
z biblioteki math
. Moduł ten zawiera funkcję sqrt()
, która służy do obliczania pierwiastka kwadratowego.
-
Wczytaj wartości z konsoli za pomocą funkcji input()
. Program oczekuje trzech liczb oddzielonych spacjami, które reprezentują współczynniki równania kwadratowego a, b i c.
-
Oblicz deltę równania kwadratowego za pomocą wzoru delta = b^2 - 4ac.
-
Sprawdź warunek: jeśli delta jest mniejsza od zera (delta < 0), oznacza to, że równanie kwadratowe nie ma pierwiastków rzeczywistych. W takim przypadku program wyświetla "brak".
-
Jeśli delta jest równa zero (delta == 0), oznacza to, że równanie ma jeden pierwiastek rzeczywisty. Program oblicza ten pierwiastek za pomocą wzoru x = -b / (2a) i go wyświetla.
-
Jeśli delta jest większa od zera (delta > 0), oznacza to, że równanie ma dwa pierwiastki rzeczywiste. Program oblicza te pierwiastki:
- Najpierw oblicza pierwiastek kwadratowy z delty za pomocą funkcji
sqrt(delta)
.
- Następnie oblicza dwa pierwiastki przy użyciu wzorów:
- x1 = (-b - delta) / (2a)
- x2 = (-b + delta) / (2a)
- Program sprawdza, który z pierwiastków jest mniejszy i ustawia je w odpowiedniej kolejności, aby wyświetlić mniejszy pierwiastek jako pierwszy.
-
Program wyświetla obliczone pierwiastki równania kwadratowego x1 i x2.