( verwandt )
Ein pythagoreisches Dreifach ist eine Liste (a, b, c)
, die die Gleichung a 2 + b 2 = c 2 erfüllt .
Eine Primitive Pythagoreisches Tripel (PPT) ist eine , wo a
, b
und c
sind alle coprime (dh die einzige gemeinsame Teiler zwischen den drei Elementen ist 1
). Das (3, 4, 5)
rechte Dreieck ist beispielsweise ein berühmtes primitives pythagoreisches Dreieck.
Die Herausforderung
- Bei gegebener Eingabe
n
wird dien
th PPT ausgegeben . Oder, - Bei gegebener Eingabe
n
werden die erstenn
PPTs ausgegeben.
Es gibt mehrere Möglichkeiten, diese PPTs zu ordnen, um eine geordnete Liste zu bilden, um zu bestimmen, welche die n
th ist. Sie können eine beliebige Reihenfolge auswählen, solange Sie nachweisen können (informell ist in Ordnung), dass Ihr Algorithmus jede mögliche eindeutige PPT generieren kann. Zum Beispiel sollte Ihr Code nicht beide ausgeben (3,4,5)
und (4,3,5)
da es sich um Duplikate desselben Tripels handelt, bitte das eine oder andere.
Ebenso ist es in Ordnung, ob Ihr Code null- oder einindexiert ist, solange Sie angeben, welchen Code Sie verwenden.
Beispiele
In den folgenden Beispielen verwende ich die Ein-Indexierung, gebe die n
th-PPT aus und ordne nach kleinsten c
, dann nach kleinsten a
und dann nach kleinsten b
.
n | output
1 | (3, 4, 5)
2 | (5, 12, 13)
5 | (20, 21, 29)
12| (48, 55, 73)
Regeln
- Die Ein- und Ausgabe kann in jedem beliebigen Format erfolgen .
- Bitte geben Sie in Ihrem Beitrag an, wie Ihre Einträge sortiert sind und ob Ihre Einträge 0-indiziert oder 1-indiziert sind.
- Ihre gewählte Bestellung kann keine Duplikate erstellen.
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Fügen Sie nach Möglichkeit einen Link zu einer Online-Testumgebung hinzu, damit andere Benutzer Ihren Code ausprobieren können!
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.