# +----------------------------------------------------+
# |                  Lekce 1 - demo 4                  |
# +----------------------------------------------------+
# Spravny postup pri reseni kvadraticke rovnice.
# Prvni procedura da vysledek s velkou zaokroulovaci chybou
#  kvuli odcitani skoro stejnych cisel, druha procedura
#  tento problem sikovne obejde
# Ve vypisu si vsimnete, ze chyba se projevi na mensim z korenu

from math import sqrt

def quadratic1(a,b,c):
    d=sqrt(b*b-4*a*c)
    print ((-b+d)/(2*a),(-b-d)/(2*a))

def quadratic2(a,b,c):
    d=sqrt(b*b-4*a*c)
    if (b>0):
        x=(-b-d)/(2*a)
        print(x,c/(a*x))
    else:
        x=(-b+d)/(2*a)
        print(x,c/(a*x))

quadratic1(1,-1634,2)
quadratic2(1,-1634,2)


