Deine Pyramide
Die Pyramide, die Sie bauen sollen, besteht ausschließlich aus Würfeln. Es hat 24 Schichten, und die N- te Schicht von oben enthält N 2 Würfel, die in einem Quadrat von N mal N angeordnet sind. Die Pyramide sieht so aus:
Um die Pyramide zu bauen, benötigen Sie einen Vorrat an Würfeln. Sie erhalten 4900 Würfel, die in einem Quadrat von 70 mal 70 so angeordnet sind:
(Okay, ich gebe zu, dass das Bild des Platzes völlig unnötig ist.)
Da 1 2 + 2 2 + 3 2 + ... + 24 2 = 70 2 , haben Sie genau die richtige Anzahl von Würfeln, um die Pyramide zu bauen. Alles, was Sie tun müssen, ist mir zu sagen, wohin jeder Würfel gehen soll.
Deine Aufgabe
Sie sollten eine beliebige Bijektion zwischen den Würfeln im Quadrat und den Würfeln in der Pyramide auswählen. (Es wäre schön, wenn Ihre Antwort sagen würde, welche der 4900! Verschiedenen Bijektionen Sie verwenden.)
Schreiben Sie dann eine Funktion oder ein Programm, das Folgendes ausführt:
- Angesichts der Position eines Würfels im Quadrat 70 x 70 (als Koordinatenpaar
(X,Y)
) - Geben Sie die Position in der Pyramide aus (als Dreifachkoordinaten
(A,B,C)
).
Die Eingabe- und Ausgabekoordinaten können alle entweder 0-indiziert oder 1-indiziert sein. Angenommen, Ihre Eingabe (X,Y)
ist ein Paar von ganzen Zahlen zwischen 1 und 70. Ihre Ausgabe (A,B,C)
ist ein Dreifach von ganzen Zahlen. A
sollte die Schicht sein, die von oben gezählt wird (zwischen 1 und 24) und (B,C)
sollte die Koordinaten dieses Würfels innerhalb dieser Schicht sein (zwischen 1 und A
).
Beispielsweise:
- Der oberste Würfel der Pyramide hat Koordinaten
(1,1,1)
. - Die vier Ecken der Basis der Pyramide haben Koordinaten
(24,1,1)
,(24,1,24)
,(24,24,1)
und(24,24,24)
. - Wenn Sie die Ecken des Quadrats an den Ecken der Pyramide platzieren möchten, können
(70,1)
Sie bei der Eingabe die Ausgabe angeben(24,24,1)
.
Sie können davon ausgehen, dass Sie nur gültige Koordinaten (X,Y)
als Eingabe erhalten. Die Korrektheit wird vollständig durch die folgende Regel bestimmt: Zwei verschiedene gültige Eingaben sollten immer zwei verschiedene gültige Eingaben ergeben.
Das ist Code-Golf : Der kürzeste Code gewinnt.