# Mystère 6
def Reciproque_de_Pythagore(c1:int, c2:int, c3:int) -> bool:
    """
    Retourne Vrai si les coté de longueurs c1, c2, et c3 forment un triangle rectangle.
    On se limite a des nombres entier car les arrondis sur les flotants créraient des faux négatifs.
    Exemple 0.05**2 == 0.04**2 + 0.03**2 retourne faux alors que 0.5**2 == 0.4**2 + 0.3**2 retourne vrai
    >>> Reciproque_de_Pythagore(3, 4, 5)
    True
    >>> Reciproque_de_Pythagore(1, 1, 2)
    False
    """
    assert type(c1) == type(c2) == type(c3) == int, "les cotés doit être des entiers naturels."
    assert c1 > 0 and c2 > 0 and c3 > 0, "une longeur est possitive"
    

    c1 = c1**2
    c2 = c2**2
    c3 = c3**2
    
    est_rectangle = c1 == c2 + c3
    est_rectangle = est_rectangle or c2 == c1 + c3
    est_rectangle = est_rectangle or c3 == c1 + c2
    return est_rectangle
    
assert Reciproque_de_Pythagore(3, 4, 5) == True
assert Reciproque_de_Pythagore(1, 1, 2) == False
