Aller au contenu

Mathématiques avec Python et Ruby/Triplets pythagoriciens en Python

Un livre de Wikilivres.
Version datée du 16 avril 2020 à 09:27 par DannyS712 (discussion | contributions) (<source> -> <syntaxhighlight> (phab:T237267))
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

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.