Tugas Anda adalah menerjemahkan angka 103-halus menjadi kata bahasa Inggris, menggunakan metode yang dijelaskan di bawah ini.
Bagaimana?
- Buat daftar faktor prima (dengan pengulangan) dari nomor input.
- Sortir daftar:
- Jika 2 bukan salah satu faktor utama, urutkan daftar dalam urutan menaik.
- Jika 2 adalah salah satu faktor utama, hapus dari daftar dan urutkan faktor yang tersisa dalam urutan menurun.
Terjemahkan setiap faktor menjadi huruf, menggunakan tabel berikut:
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
Catatan : Tabel ini dibangun secara empiris untuk memaksimalkan jumlah kata yang mungkin. Bagi yang penasaran, berikut adalah daftar 2.187 kata yang dapat dikodekan seperti itu (mungkin termasuk bahasa kasar). Jelas tidak dijamin optimal, tetapi cukup bagus untuk tantangan ini.
Contohnya
Contoh 1: 579085261 (urutan naik)
- Faktor utama adalah [37, 47, 53, 61, 103] .
- 2 bukan merupakan faktor utama, jadi kami menjaga daftar diurutkan dalam urutan menaik.
- 37 = C, 47 = R, dll. Outputnya adalah "GILA".
Contoh 2: 725582 (urutan menurun)
- Faktor utama adalah [2, 11, 13, 43, 59] .
- 2 adalah faktor utama, jadi kami menghapusnya dan mengurutkan daftar dalam urutan menurun, yang menghasilkan:
[59, 43, 13, 11] . - 59 = G, 43 = O, dll. Outputnya adalah "GOLF".
Contoh 3: 10757494 (dengan faktor berulang)
- Faktor utama adalah [2, 11, 71, 71, 97] .
- 2 adalah faktor utama, jadi kami menghapusnya dan mengurutkan daftar dalam urutan menurun, yang menghasilkan:
[97, 71, 71, 11] . - 97 = B, 71 = E, 11 = F. Outputnya adalah "BEEF".
Klarifikasi dan aturan
- Nomor input dijamin 103-halus dan habis dibagi 2 paling banyak satu kali.
- Menurut definisi, bilangan halus adalah bilangan bulat positif .
- Input dan output dapat ditangani dalam format apa pun yang wajar. Outputnya bisa dalam huruf kecil atau besar. Trailing whitespace dapat diterima. Ruang putih terkemuka tidak.
- Jika program / fungsi Anda tidak dapat mendukung input besar, harap tentukan dalam jawaban Anda.
- Ini adalah kode golf, jadi jawaban tersingkat dalam byte menang.
Uji kasus
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
... hasilnya adalah PIRATE MAZE
, atau DOOM VACUUMS
...
Ò
pada579085261
, merasa seperti <s> Emigna </ s> Adnan sudah dimulai.