Ошибка в алгоритме (простая)

https://www.desmos.com/calculator/a4x8pzc57y <--- график Мне нужен алгоритм, который ищет точки пересечения круга (и ромба тоже, но пока- что круг). БЕЗ ДОПОЛНИТЕЛЬНЫХ БИБЛИОТЕК ! ЧИСТЫЙ ПИТОН ! Я уже приблизился к решению, но когда решений уравнения нет, он показывает какие-то.


def discriminant(a,b,c):
   discr = b ** 2 - 4 * a * c
   if discr > 0:
      return ((-b + math.sqrt(discr)) / (2 * a),(-b - math.sqrt(discr)) / (2 * a))
   elif discr == 0:
      return (-b / (2 * a))
   else:
      return ()
a = 5
b = 5
c = -10
d = -5
e = 2
vs = b/a
C = -(c**2+d**2-e)
B = (c*2*vs+c*2)
A = -(vs**2+1)
S = discriminant(A,B,C)
print(A,B,C)
for _ in S:
print(b*_/a,_)

Вывод:

-16.20483682299543 -16.20483682299543
-3.7951631770045715 -3.7951631770045715

Должен быть:


Ресурсов моего мозга не хватает, дабы понять что не так.


Ответы (0 шт):