Il tuo compito è tradurre un numero di 103 caratteri in una parola inglese, usando il metodo descritto di seguito.
Come?
- Genera l'elenco dei fattori primi (con ripetizione) del numero di input.
- Ordina l'elenco:
- Se 2 non è uno dei fattori primi, ordina l'elenco in ordine crescente.
- Se 2 è uno dei fattori primi, rimuoverlo dall'elenco e ordinare i restanti fattori in ordine decrescente.
Traduci ogni fattore in una lettera, usando la seguente tabella:
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
Nota : questa tabella è stata costruita empiricamente per massimizzare il numero di parole possibili. Per i curiosi, ecco un elenco di 2.187 parole che possono essere codificate in questo modo (può includere un linguaggio volgare). Non è sicuramente garantito per essere ottimale, ma è abbastanza buono per questa sfida.
Esempi
Esempio 1: 579085261 (ordine crescente)
- I fattori primi sono [37, 47, 53, 61, 103] .
- 2 non è un fattore primo, quindi manteniamo l'elenco ordinato in ordine crescente.
- 37 = C, 47 = R, ecc. L'output è "CRAZY".
Esempio 2: 725582 (ordine decrescente)
- I fattori primi sono [2, 11, 13, 43, 59] .
- 2 è un fattore primo, quindi lo rimuoviamo e ordiniamo l'elenco in ordine decrescente, che dà:
[59, 43, 13, 11] . - 59 = G, 43 = O, ecc. L'output è "GOLF".
Esempio 3: 10757494 (con un fattore ripetuto)
- I fattori primi sono [2, 11, 71, 71, 97] .
- 2 è un fattore primo, quindi lo rimuoviamo e ordiniamo l'elenco in ordine decrescente, che dà:
[97, 71, 71, 11] . - 97 = B, 71 = E, 11 = F. L'uscita è "BEEF".
Chiarimenti e regole
- Il numero di input è garantito per 103 liscio e divisibile per 2 al massimo una volta.
- Per definizione, un numero progressivo è un numero intero positivo .
- L'input e l'output possono essere gestiti in qualsiasi formato ragionevole. L'output può essere in minuscolo o maiuscolo. Lo spazio bianco finale è accettabile. Lo spazio bianco principale non lo è.
- Se il tuo programma / funzione non può supportare input di grandi dimensioni, specificalo nella tua risposta.
- Questo è il golf del codice, quindi vince la risposta più breve in byte.
Casi test
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
... il tuo risultato è PIRATE MAZE
, o DOOM VACUUMS
...
Ò
su579085261
, sembra che <s> Emigna </s> Adnan sia già iniziato.