Ihre Aufgabe ist es, eine 103-glatte Zahl mit der unten beschriebenen Methode in ein englisches Wort zu übersetzen .
Wie?
- Generieren Sie die Liste der Primfaktoren (mit Wiederholung) der eingegebenen Zahl.
- Liste sortieren:
- Wenn 2 nicht zu den Primfaktoren gehört, sortieren Sie die Liste in aufsteigender Reihenfolge.
- Wenn 2 einer der Hauptfaktoren ist, entfernen Sie ihn aus der Liste und sortieren Sie die verbleibenden Faktoren in absteigender Reihenfolge.
Übersetzen Sie jeden Faktor anhand der folgenden Tabelle in einen Buchstaben:
3 = S 13 = L 29 = X 43 = O 61 = Z 79 = H 101 = K 5 = P 17 = Q 31 = N 47 = R 67 = T 83 = V 103 = Y 7 = M 19 = U 37 = C 53 = A 71 = E 89 = D 11 = F 23 = I 41 = W 59 = G 73 = J 97 = B
Anmerkung : Diese Tabelle wurde empirisch erstellt, um die Anzahl der möglichen Wörter zu maximieren. Für die Neugierigen ist hier eine Liste von 2.187 Wörtern , die auf diese Weise codiert werden können (einschließlich unhöflicher Sprache). Es ist definitiv nicht garantiert, dass es optimal ist, aber es ist gut genug für diese Herausforderung.
Beispiele
Beispiel 1: 579085261 (aufsteigende Reihenfolge)
- Die Primfaktoren sind [37, 47, 53, 61, 103] .
- 2 ist kein Primfaktor, daher wird die Liste in aufsteigender Reihenfolge sortiert.
- 37 = C, 47 = R usw. Die Ausgabe ist "CRAZY".
Beispiel 2: 725582 (absteigende Reihenfolge)
- Die Primfaktoren sind [2, 11, 13, 43, 59] .
- 2 ist ein Primfaktor, also entfernen wir ihn und sortieren die Liste in absteigender Reihenfolge, was ergibt:
[59, 43, 13, 11] . - 59 = G, 43 = O usw. Die Ausgabe ist "GOLF".
Beispiel 3: 10757494 (mit einem wiederholten Faktor)
- Die Primfaktoren sind [2, 11, 71, 71, 97] .
- 2 ist ein Primfaktor, also entfernen wir ihn und sortieren die Liste in absteigender Reihenfolge, was ergibt:
[97, 71, 71, 11] . - 97 = B, 71 = E, 11 = F. Die Ausgabe ist "BEEF".
Erläuterungen und Regeln
- Die eingegebene Zahl ist garantiert 103-glatt und höchstens einmal durch 2 teilbar.
- Per Definition ist eine glatte Zahl eine positive ganze Zahl .
- Die Ein- und Ausgabe kann in jedem vernünftigen Format erfolgen. Die Ausgabe kann in Klein- oder Großbuchstaben erfolgen. Nachgestellte Leerzeichen sind akzeptabel. Führendes Leerzeichen ist das nicht.
- Wenn Ihr Programm / Ihre Funktion keine großen Eingaben unterstützen kann, geben Sie dies bitte in Ihrer Antwort an.
- Dies ist Codegolf, daher gewinnt die kürzeste Antwort in Bytes.
Testfälle
34874 --> ARM
483254 --> BAR
353722 --> EAR
494302 --> EGG
39061 --> FAT
6479 --> FUN
60421 --> ICE
54166 --> JAM
48911474 --> BETA
2510942 --> BOOM
2303854 --> DOOM
844261 --> FIRE
1606801 --> MAZE
1110085 --> PAGE
5212974 --> BALLS
67892046 --> BEANS
885396199 --> CREEK
67401037 --> FUNKY
27762173 --> QUICK
1238440506 --> ARROWS
33045832681 --> CRAGGY
1362714005 --> PIRATE
137302698 --> TROLLS
358310128062 --> BEGGARS
40255151586 --> DETAILS
164633248153 --> FIXATED
621172442227 --> UNRATED
2467812606 --> VACUUMS
86385078330 --> GROWNUPS
26607531423091 --> UNWORTHY
<=103
... Ihr Ergebnis ist PIRATE MAZE
, oder DOOM VACUUMS
...
Ò
on579085261
, fühle mich wie <s> Emigna </ s> Adnan hat bereits begonnen.