Parcours
/
JavaScript
JavaScript
/
Exercices
/
Triplet pythagoricien
Triplet pythagoricien

Triplet pythagoricien

Moyen

Introduction

Tu es un résolveur de problèmes accompli, connu pour ta capacité à t'attaquer aux énigmes mathématiques les plus redoutables. Un soir, tu reçois une lettre urgente d'un inventeur qui se fait appeler Triangle Tinkerer et qui travaille sur un projet inédit. Voici ce que dit la lettre :

Cher mathématicien,

J'ai besoin de ton aide. Je conçois un appareil qui repose sur les propriétés uniques des triplets pythagoriciens, des ensembles de trois entiers qui satisfont l'équation a² + b² = c². Cet appareil va révolutionner la navigation, mais pour qu'il fonctionne, je dois le programmer avec tous les triplets possibles dont la somme de a, b et c est égale à un nombre précis, N. Calculer ces triplets à la main me prendrait des années, mais j'ai entendu dire que tu étais amplement de taille pour t'en charger.

Le temps presse. L'avenir de mon invention, et peut-être même celui de l'innovation mathématique, dépend de ta capacité à résoudre ce problème.

L'importance de la tâche te motive, et tu te mets en quête de tous les triplets pythagoriciens qui satisfont la condition. Ton travail pourrait avoir des répercussions considérables et ouvrir de nouvelles possibilités en science et en ingénierie. Sauras-tu relever le défi et entrer dans l'histoire ?

Instructions

Un triplet pythagoricien est un ensemble de trois nombres naturels, {a, b, c}, tels que

a² + b² = c²

et que

a < b < c

Par exemple,

3² + 4² = 5².

Étant donné un entier N en entrée, trouve tous les triplets pythagoriciens pour lesquels a + b + c = N.

Par exemple, avec N = 1000, il existe exactement un triplet pythagoricien pour lequel a + b + c = 1000 : {200, 375, 425}.

Implémentation

Par défaut, la fonction triplets ne reçoit que sum, mais elle peut aussi recevoir, de façon facultative, minFactor et/ou maxFactor. Lorsque ces valeurs sont fournies, vérifie que chaque facteur du triplet vaut au moins minFactor et au plus maxFactor.

Advanced

Si tu résous cet exercice avec la CLI, il existe un cas de test portant sur de grands nombres qui est actuellement ignoré pour éviter les dépassements de délai dans notre exécuteur de tests. Tu peux l'activer si tu le souhaites en retirant le .skip, sachant simplement que son exécution peut prendre du temps.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
JavaScript Exercism

Prêt à commencer Triplet pythagoricien ?

Inscris-toi sur Exercism pour apprendre et maîtriser JavaScript avec 37 concepts159 exercices, et un vrai mentorat humain, le tout gratuitement.