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

Un livre de Wikilivres.

L'énoncé du problème est simple, sa solution avec Ruby 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.

(1..1000).collect{|y| (1..y).collect{|x| z=Math.hypot(x,y) ; puts(x,y,z) if x+y+z==1000}}

On apprend qu'il n'y a qu'un triplet de somme 1000.