Tracks
/
JavaScript
JavaScript
/
Übungen
/
Pythagoreisches Tripel
Pythagoreisches Tripel

Pythagoreisches Tripel

Mittel

Einführung

Du bist bekannt dafür, dass du selbst die kniffligsten mathematischen Rätsel lösen kannst. Eines Abends erreicht dich ein dringender Brief von einem Erfinder namens Triangle Tinkerer, der an einem bahnbrechenden neuen Projekt arbeitet. In dem Brief steht:

Liebe*r Mathematiker*in,

ich brauche deine Hilfe. Ich entwerfe ein Gerät, das auf den besonderen Eigenschaften pythagoreischer Tripel beruht, also auf Mengen aus drei Ganzzahlen, welche die Gleichung a² + b² = c² erfüllen. Dieses Gerät wird die Navigation revolutionieren, doch damit es funktioniert, muss ich es mit jedem möglichen Tripel programmieren, bei dem die Summe von a, b und c eine bestimmte Zahl N ergibt. Diese Tripel von Hand zu berechnen, würde mich Jahre kosten, aber ich habe gehört, dass du dieser Aufgabe mehr als gewachsen bist.

Die Zeit drängt. Die Zukunft meiner Erfindung und vielleicht sogar die Zukunft des mathematischen Fortschritts hängt davon ab, ob du dieses Problem lösen kannst.

Motiviert durch die Bedeutung der Aufgabe machst du dich daran, alle pythagoreischen Tripel zu finden, welche die Bedingung erfüllen. Deine Arbeit könnte weitreichende Folgen haben und neue Möglichkeiten in Wissenschaft und Technik eröffnen. Kannst du dich der Herausforderung stellen und Geschichte schreiben?

Anleitung

Ein pythagoreisches Tripel ist eine Menge aus drei natürlichen Zahlen, {a, b, c}, für die gilt:

a² + b² = c²

und für die außerdem gilt:

a < b < c

Zum Beispiel,

3² + 4² = 5².

Gegeben sei eine Ganzzahl N als Eingabe. Finde alle pythagoreischen Tripel, für die a + b + c = N gilt.

Zum Beispiel gibt es für N = 1000 genau ein pythagoreisches Tripel, für das a + b + c = 1000 gilt: {200, 375, 425}.

Implementierung

Standardmäßig erhält die Funktion triplets nur sum, sie kann aber optional zusätzlich minFactor und/oder maxFactor erhalten. Wenn diese angegeben werden, stelle sicher, dass jeder Faktor des Tripels mindestens minFactor und höchstens maxFactor ist.

Advanced

Wenn du diese Übung über die Kommandozeile löst, gibt es einen Testfall mit großen Zahlen, der derzeit übersprungen wird, um Zeitüberschreitungen in unserem Test-Runner zu vermeiden. Du kannst ihn aktivieren, wenn du möchtest, indem du das .skip entfernst. Sei dir nur bewusst, dass die Ausführung eine Weile dauern kann.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
JavaScript Exercism

Bereit, mit Pythagoreisches Tripel zu starten?

Melde dich bei Exercism an, um JavaScript mit 37 Konzepte159 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.