Il tuo compito è generare una parola senza senso che sia ragionevolmente pronunciabile con il numero specificato di "sillabe". Ogni volta che il programma viene eseguito, si ottiene probabilmente una diversa parola senza senso.
pronunciabilità
Una parola pronunciabile è composta da sillabe, che sono a loro volta costituite da un gruppo vocale che può essere inserito tra due gruppi consonanti. Non tutti i suoni sono pronunciabili in tutte le posizioni e poiché questo dipende dalla lingua, useremo schemi comprensibili per chi parla inglese
Avvio di gruppi di consonanti:
b c d f g h j 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 sk sl sm sn sp st th tr wh wr sch scr shm shr squ str thr
Gruppi vocali:
ae i o u ae ai ao au eae ei eu ia cioè io oa oe of oo ou ue ui
Gruppi di consonanti finali:
bcdfglmnprstxz bt ch ck ct ft gh gn lb ld lf 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 lsh rth r sch schch
Combinazione di sillabe
I gruppi di consonanti iniziali e finali sono facoltativi in generale, tuttavia non è possibile posizionare una sillaba che termina con una vocale immediatamente prima di una che inizia con una vocale.
disconoscimento
Nell'interesse della semplicità, alcune parole inglesi non possono essere effettivamente generate in questo modo, come vuoto, xilofono, mnemonico, pterodattilo, bello, blah, loro, wow e la maggior parte dei plurali.
Panoramica
Possibili schemi di sillabe usando questo tasto:
(SC) = consonante iniziale; (V) = gruppo vocale; (CE) = consonante finale
Per una sillaba:
- (SC) (V) (CE)
- (V) (CE)
- (SC) (V)
- (V)
Con due sillabe:
- (SC) (V) (CE) (SC) (V) (CE)
- (SC) (V) (CE) (SC) (V)
- (SC) (V) (CE) (V) (CE)
(SC) (V) (CE) (V)
(SC) (V) (SC) (V) (CE)
(SC) (V) (SC) (V)
(V) (CE) (SC) (V) (CE)
- (V) (CE) (SC) (V)
- (V) (CE) (V) (CE)
(V) (CE) (V)
(V) (SC) (V) (CE)
- (V) (SC) (V)
... e così via
Esempi
1 sillaba
- charst
- tigh
- shriegn
- EESS
- Shue
- oo
- cheezz
2 sillabe
- jazzcrap
- whylprog
- mangiare
- Umba
- ola
- avere
- Ingsoc
- greespheurz
- bleuspoo
3 sillabe
- brokiompic
- squirdshlicker
- capitale
- opengtrass
- doublethink
- grande Fratello
- phoebliaptmoo
- skolfblauquent
4 sillabe
- strawishoepick
- patchworkzombie
- prearneajoomie
- slephotoschou
- doubleplusgood
Coding
Input: un numero intero per il numero di sillabe da generare
Output: una parola (probabilmente) senza senso che molte sillabe lunghe
Regole
- È richiesta una qualche forma di casualità (psuedo). Tutte le combinazioni di sillabe dovrebbero essere (teoricamente) possibili da generare, sebbene la distribuzione non debba essere uniforme.
- Puoi supporre che il tuo generatore sia aperiodico, quindi non deve essere matematicamente possibile generare ogni possibile parola (potrebbe non avere un periodo abbastanza lungo nella realtà) e non è necessario fornire alcun tipo di prova che il tuo il generatore può infatti produrre ogni possibile parola.
- Il tuo generatore deve effettivamente essere in grado di produrre almeno 255 valori distinti, quindi non puoi semplicemente restituirne 4 ogni volta che viene chiamato il generatore.
- Ciò che è in definitiva importante è che in qualche modo includi tutti i gruppi di lettere sopra nel tuo codice, che ogni gruppo di lettere abbia una probabilità diversa da zero e che ogni modello di sillaba ha una probabilità diversa da zero (se fornito con vera casualità).
- Devi supportare fino a 16 parole di sillabe
- Oltre alle regole sulla combinazione di sillabe, la parola di output non deve avere:
- 3 vocali consecutive (
a
e
i
o
u
; questo può accadere perqu
parole) - 3 consonanti corrispondenti consecutive
- 3 vocali consecutive (
In bocca al lupo!
Nota che questo è diverso da Genera una parola pronunciabile per alcuni motivi:
- Numero variabile di sillabe specificato per input piuttosto che un rigoroso requisito di 10 lettere.
- Questa sfida aggiunge gruppi di lettere non esaustivi che devono essere (abilmente) codificati e consente più varianti di sillabe, quindi il codice non può essere semplicemente copiato dall'altra sfida
- Squirdshlicker. Devo aggiungere altro?
Ho anche dimenticato di duplicare il controllo, ma si scopre che questo porta abbastanza nuovo sul tavolo che non importa. Dopotutto, ci sono centinaia di sfide con le nove varianti.