Жангирхан Шаку, 404 BiquadEquation 1607
Арсен Жуматай,304 BiquadEquation 1583
t1import matht1import math
22
3def solve_biquadratic(a, b, c):3def solve_biquadratic(a, b, c):
4    if a == 0:4    if a == 0:
5        if b == 0:5        if b == 0:
6            return -1 if c == 0 else 06            return -1 if c == 0 else 0
7        y = -c / b7        y = -c / b
8        if y < 0:8        if y < 0:
9            return 09            return 0
10        root = math.sqrt(y)10        root = math.sqrt(y)
11        return sorted([-root, root]) if root != 0 else [0]11        return sorted([-root, root]) if root != 0 else [0]
12    discriminant = b ** 2 - 4 * a * c12    discriminant = b ** 2 - 4 * a * c
13    if discriminant < 0:13    if discriminant < 0:
14        return 014        return 0
15    y1 = (-b + math.sqrt(discriminant)) / (2 * a)15    y1 = (-b + math.sqrt(discriminant)) / (2 * a)
16    y2 = (-b - math.sqrt(discriminant)) / (2 * a)16    y2 = (-b - math.sqrt(discriminant)) / (2 * a)
17    roots = set()17    roots = set()
18    if y1 >= 0:18    if y1 >= 0:
19        roots.add(math.sqrt(y1))19        roots.add(math.sqrt(y1))
20        roots.add(-math.sqrt(y1))20        roots.add(-math.sqrt(y1))
21    if y2 >= 0:21    if y2 >= 0:
22        roots.add(math.sqrt(y2))22        roots.add(math.sqrt(y2))
23        roots.add(-math.sqrt(y2))23        roots.add(-math.sqrt(y2))
24    if not roots:24    if not roots:
25        return 025        return 0
26    return sorted(roots)26    return sorted(roots)
27try:27try:
28    a, b, c = map(float, input().split(','))28    a, b, c = map(float, input().split(','))
29except ValueError:29except ValueError:
30    print('Ошибка: введите три числа через запятую.')30    print('Ошибка: введите три числа через запятую.')
31    exit()31    exit()
32result = solve_biquadratic(a, b, c)32result = solve_biquadratic(a, b, c)
33if result == 0:33if result == 0:
34    print(0)34    print(0)
35elif result == -1:35elif result == -1:
36    print(-1)36    print(-1)
37else:37else:
38    print(' '.join((f'{x:.1f}' if x.is_integer() else f'{x:.16f}' for x 38    print(' '.join((f'{x:.1f}' if x.is_integer() else f'{x:.16f}' for x 
>in result)))>in result)))
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op