Votre tâche consiste à générer un mot non-sens qui est raisonnablement prononçable avec le nombre spécifié de «syllabes». Chaque fois que le programme est exécuté, il peut en résulter un mot de non-sens différent.
Prononçabilité
Un mot prononçable est composé de syllabes, qui sont à leur tour constituées d'un groupe de voyelles qui est éventuellement pris en sandwich entre deux groupes de consonnes. Tous les sons ne peuvent pas être prononcés dans toutes les positions, et comme cela dépend de la langue, nous utiliserons des modèles compréhensibles par les anglophones
Début des groupes de consonnes:
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 squ str thr
Groupes de voyelles:
a e i o u ae ai ao au ea ee ei eu ia ie io oa oe oi oo ou ue ui
Fin des groupes de consonnes:
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 lth rch rsh rsh rst rst rth sch tch
Combinaison de syllabes
Les groupes de consonnes de début et de fin sont facultatifs en général, mais vous ne pouvez pas placer une syllabe se terminant par une voyelle juste avant une commençant par une voyelle.
Avertissement
Dans un souci de simplicité, certains mots anglais ne peuvent pas être générés de cette façon, tels que vide, xylophone, mnémonique, ptérodactyle, beau, bla, eux, wow et la plupart des pluriels.
Aperçu
Modèles de syllabes possibles à l'aide de cette touche:
(SC) = consonne de départ; (V) = groupe de voyelles; (EC) = consonne finale
Pour une syllabe:
- (SC) (V) (CE)
- (V) (CE)
- (SC) (V)
- (V)
Avec deux syllabes:
- (SC) (V) (EC) (SC) (V) (EC)
- (SC) (V) (EC) (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)
... etc
Exemples
1 syllabe
- charst
- serré
- shriegn
- eess
- shue
- oo
- cheezz
2 syllabes
- jazzcrap
- whylprog
- en mangeant
- umba
- ola
- avoir
- ingsoc
- greespheurz
- bleuspoo
3 syllabes
- brokiompic
- squirdshlicker
- Capitale
- opengtrass
- double pensée
- grand frère
- phoebliaptmoo
- skolfblauquent
4 syllabes
- paille
- patchworkzombie
- preearneajoomie
- slephotoschou
- doubleplusgood
Codage
Entrée: un entier pour le nombre de syllabes à générer
Sortie: un mot (probablement) absurde qui contient de nombreuses syllabes
Règles
- Une certaine forme d'aléa (pseudo) est requise. Toutes les combinaisons de syllabes devraient être (théoriquement) possibles à générer, bien que la distribution ne doive pas être uniforme.
- Vous pouvez supposer que votre générateur est apériodique, il ne doit donc pas être mathématiquement possible de générer tous les mots possibles (il peut ne pas avoir une période suffisamment longue en réalité) et vous n'avez pas besoin de fournir une sorte de preuve que votre générateur peut, en fait, produire tous les mots possibles.
- Votre générateur doit en fait être capable de produire au moins 255 valeurs distinctes, vous ne pouvez donc pas simplement retourner 4 à chaque appel du générateur.
- Ce qui est finalement important, c'est que vous incluiez en quelque sorte tous les groupes de lettres ci-dessus dans votre code, que chaque groupe de lettres ait une probabilité non nulle d'être sélectionné, et que chaque motif de syllabe ait une probabilité non nulle de se produire (s'il est fourni avec un vrai caractère aléatoire).
- Vous devez prendre en charge jusqu'à 16 mots de syllabe
- En plus des règles de combinaison des syllabes, le mot de sortie ne doit pas avoir:
- 3 voyelles consécutives (
a
e
i
o
u
; cela peut arriver pour lesqu
mots) - 3 consonnes correspondantes consécutives
- 3 voyelles consécutives (
Bonne chance!
Notez que ceci est distinct de Générer un mot prononçable pour plusieurs raisons:
- Nombre variable de syllabes spécifié par entrée plutôt qu'une exigence stricte de 10 lettres.
- Ce défi ajoute des groupes de lettres non exhaustifs qui doivent être (intelligemment) encodés et permet plus de variantes de syllabes, donc le code ne peut pas être simplement copié de l'autre défi
- Squirdshlicker. Dois-je en dire plus?
J'ai également oublié de duper le chèque, mais il s'avère que cela apporte suffisamment de nouveautés à la table pour que cela n'ait pas d'importance. Après tout, il existe des centaines de défis de variantes quine.