Mathématiques avec Python et Ruby/Triplets pythagoriciens en Python
Apparence
L'énoncé du problème est simple, sa solution avec Python aussi:
Énoncé
Trouver tous les triplets pythagoriciens (x,y,z) tels que ; autrement dit, on demande les triangles rectangles de périmètre 1000 dont les côtés sont entiers.
En considérant x, y et z comme classés dans l'ordre croissant, on va faire une boucle sur y (le plus grand des côtés de l'angle droit), et à l'intérieur de celle-ci, une autre boucle sur x. Enfin on calcule l'hypoténuse z, puis le périmètre du triangle. Et si celui-ci vaut 1000, on affiche le triplet:
from math import hypot
for y in range(1000):
for x in range(y):
z=hypot(x,y)
if x+y+z==1000:
print(x,y,z)
Le script nous apprend qu'il n'y a qu'un seul triplet pythagoricien de somme 1000.