Miejsca zerowe równania kwadratowego (rzeczywiste)
Treść zadania
Napisz funkcję miejsca_zerowe(a, b, c), która zwraca listę wszystkich rzeczywistych rozwiązań równania $ax^2 + bx + c = 0$, posortowaną rosnąco. Pierwiastek podwójny umieść na liście tylko raz.
Program wczytuje współczynniki, wywołuje funkcję i wypisuje wynik.
Dane wejściowe
Jedna linia: trzy liczby całkowite a b c oddzielone spacją (a ≠ 0).
Dane wyjściowe
- Jeśli równanie ma rozwiązania rzeczywiste: jedna linia z rozwiązaniami w kolejności rosnącej, oddzielonymi spacją, każde z dokładnością do 2 miejsc po przecinku (np.
-1.62 0.62). Pierwiastek podwójny wypisz raz. - Jeśli równanie nie ma rozwiązań rzeczywistych: dokładnie
Brak miejsc zerowych.
Ograniczenia
-100 ≤ a, b, c ≤ 100,a ≠ 0
Uwagi
- Oblicz $\Delta = b^2 - 4ac$. Dla $\Delta < 0$ brak rozwiązań, dla $\Delta = 0$ jest jedno: $x = \frac{-b}{2a}$, a dla $\Delta > 0$ dwa: $x_{1,2} = \frac{-b \pm \sqrt{\Delta}}{2a}$.
- Uważaj na kolejność: gdy $a < 0$, wzór z „$+$” daje mniejszy pierwiastek — posortuj wynik.
Przykłady
1 2 1
-1.00
$\Delta = 2^2 - 4 \cdot 1 \cdot 1 = 0$, więc jest jeden (podwójny) pierwiastek $x = -1$.
1 0 1
Brak miejsc zerowych
Potrzebujesz teorii?
Zasady obowiązujące w rozdziale 14
Poniższe zadania dotyczą pisania funkcji operujących na wielomianach. Wielomian zapisujemy jako listę jego współczynników od najwyższej potęgi do wyrazu wolnego: lista [a_n, a_{n-1}, ..., a_1, a_0] oznacza wielomian $a_n x^n + a_{n-1} x^{n-1} + \dots + a_1 x + a_0$.
Konwencje wspólne:
- Każde zadanie to osobny program: czyta standardowe wejście i wypisuje wynik na standardowe wyjście. Główną pracę wykonuje funkcja opisana w treści zadania — program tylko wczytuje dane, wywołuje funkcję i wypisuje wynik (gotowy szkielet znajdziesz w sekcji „Kod startowy”).
- Wielomian stopnia
njest podawany w dwóch liniach: najpierw liczban, a w następnej liniin+1liczb całkowitycha_n a_{n-1} ... a_0oddzielonych spacjami. - Współczynniki są liczbami całkowitymi (mogą być ujemne). Dla
n ≥ 1współczynnika_njest różny od zera. - Gdy wynikiem jest wielomian, wypisz jego współczynniki od najwyższej potęgi w jednej linii, oddzielone pojedynczą spacją, bez nawiasów i przecinków.
- Program nie wypisuje komunikatów typu „Podaj liczbę:”.
Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.
Przywrócono Twój zapisany kod.
Python uruchomi się w przeglądarce przy pierwszym teście.
Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.
Testy
Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.
Test 1
Nie uruchomiono1 -3 2
1.00 2.00
Test 2
Nie uruchomiono2 0 -8
-2.00 2.00
Test 3
Nie uruchomiono-1 2 3
-1.00 3.00
Test 4
Nie uruchomiono1 1 -1
-1.62 0.62
Test 5
Nie uruchomiono4 4 1
-0.50
Test 6
Nie uruchomiono1 -5 0
0.00 5.00
Test 7
Nie uruchomiono2 1 5
Brak miejsc zerowych