Tugas Anda adalah menghasilkan kata yang tidak masuk akal yang dapat diucapkan dengan cukup dengan jumlah 'suku kata'. Setiap kali program dijalankan mungkin menghasilkan kata omong kosong yang berbeda.
Kemampuan mengucapkan
Kata yang dapat diucapkan terdiri dari suku kata, yang pada gilirannya terdiri dari kelompok vokal yang mungkin terjepit di antara dua kelompok konsonan. Tidak semua suara dapat diucapkan di semua posisi, dan karena ini tergantung pada bahasa, kami akan menggunakan pola yang dapat dimengerti oleh penutur bahasa Inggris
Memulai grup konsonan:
b c d f g hj k l m n p r s t v w y z bl br ch cl cr dr fl fr gh gl gn gr kn ph pl pr qu sc sh ssrm sst jd sst tk jd b jt b j t t t t t t t t t t t t t t t
Grup Vokal:
a e i o u ae ai ao au ea ee ei eu ia yaitu ie io oa oe oi oo ou ue ui
Kelompok Konsonan Berakhir:
bcdfglmnprstxz bt ch ck ct ft gh gn lb ld lk lk ll lm ln lp lt mb mn mp nk ng nt ph pt rb rc rd rf rg rk rl rm rn rp rt rv rz sh sk sp ss st zz lch rsh rt sch tch
Menggabungkan Suku kata
Baik grup konsonan awal dan akhir adalah opsional pada umumnya, namun Anda tidak dapat menempatkan suku kata yang diakhiri dengan vokal tepat sebelum yang dimulai dengan vokal.
Penolakan
Demi kesederhanaan, kata-kata bahasa Inggris tertentu sebenarnya tidak dapat dihasilkan dengan cara ini, seperti ruang hampa udara, gambang, mnemonik, pterodactyl, cantik, bla, kata, wow, dan sebagian besar bentuk jamak.
Gambaran
Kemungkinan pola suku kata menggunakan kunci ini:
(SC) = konsonan awal; (V) = grup vokal; (EC) = akhir konsonan
Untuk satu suku kata:
- (SC) (V) (EC)
- (V) (EC)
- (SC) (V)
- (V)
Dengan dua suku kata:
- (SC) (V) (EC) (SC) (V) (EC)
- (SC) (V) (EC) (SC) (V)
- (SC) (V) (EC) (V) (EC)
(SC) (V) (EC) (V)
(SC) (V) (SC) (V) (EC)
(SC) (V) (SC) (V)
(V) (EC) (SC) (V) (EC)
- (V) (EC) (SC) (V)
- (V) (EC) (V) (EC)
(V) (EC) (V)
(V) (SC) (V) (EC)
- (V) (SC) (V)
... dan seterusnya
Contohnya
1 suku kata
- charst
- tigh
- shriegn
- eess
- shue
- oo
- cheezz
2 suku kata
- Jazzcrap
- whylprog
- memakan
- umba
- ola
- memiliki
- ingsoc
- greespheurz
- bleuspoo
3 suku kata
- brokiompic
- squirdshlicker
- modal
- opengtrass
- keraguan
- kakak laki-laki
- phoebliaptmoo
- kurang ajar
4 suku kata
- strawishoepick
- tambal sulam
- prearneajoomie
- slephotoschou
- dua kali lipatbaik
Coding
Input: integer untuk menghasilkan jumlah suku kata
Keluaran: kata (mungkin) omong kosong yang panjang kata banyak
Aturan
- Diperlukan beberapa bentuk keacakan (psuedo). Semua kombinasi suku kata harus (secara teoritis) dimungkinkan untuk dihasilkan, meskipun distribusinya tidak harus seragam.
- Anda dapat mengasumsikan bahwa generator Anda adalah aperiodik, sehingga tidak harus secara matematis memungkinkan untuk menghasilkan setiap kata yang mungkin (Mungkin tidak memiliki periode yang cukup lama dalam kenyataan) dan Anda tidak perlu memberikan bukti apa pun bahwa Anda Generator dapat, pada kenyataannya, menghasilkan setiap kata yang mungkin.
- Generator Anda harus benar-benar dapat menghasilkan setidaknya 255 nilai berbeda, sehingga Anda tidak bisa hanya mengembalikan 4 setiap kali generator dipanggil.
- Apa yang akhirnya penting adalah bahwa Anda entah bagaimana memasukkan semua grup surat di atas ke dalam kode Anda, bahwa setiap grup surat memiliki probabilitas bukan nol untuk dipilih, dan setiap pola suku kata memiliki probabilitas tidak nol untuk terjadi (jika disediakan dengan keacakan yang benar).
- Anda harus mendukung hingga 16 kata suku kata
- Selain aturan tentang menggabungkan suku kata, kata output tidak boleh memiliki:
- 3 vokal berturut-turut (
a
e
i
o
u
; ini bisa terjadi untukqu
kata - kata) - 3 konsonan yang cocok berturut-turut
- 3 vokal berturut-turut (
Semoga berhasil!
Perhatikan bahwa ini berbeda dari Menghasilkan kata yang dapat diucapkan karena beberapa alasan:
- Jumlah variabel suku kata yang ditentukan oleh input daripada persyaratan 10 huruf yang ketat.
- Tantangan ini menambahkan grup surat yang tidak lengkap yang harus (secara cerdik) dikodekan dan memungkinkan lebih banyak varian suku kata, sehingga kode tidak bisa hanya disalin dari tantangan lain
- Squirdshlicker. Perlu saya katakan lebih?
Saya juga lupa untuk menipu cek, tetapi ternyata ini membawa cukup baru ke meja yang tidak masalah. Bagaimanapun, ada ratusan tantangan varian quine.