def existe(s, p): """Détermine s'il existe u et v tels que s = u + v et p = u * v""" delta = s ** 2 - 4 * p if delta >= 0: return True else: return False def existe2(s, p): """Détermine s'il existe u et v tels que s = u + v et p = u * v Version plus élégante""" return s ** 2 - 4 * p >= 0 def seuil(s): """Retourne lee rang du plus petit nombre triangulaire >= s""" n = 0 while n * (n+1) / 2 < s: n = n + 1 return n print(existe(9,2)) print(seuil(1000))