Sua tarefa é gerar uma palavra sem sentido razoavelmente pronunciável com o número especificado de 'sílabas'. Cada vez que o programa é executado, possivelmente resulta em uma palavra sem sentido diferente.
Pronounceability
Uma palavra pronunciável é composta de sílabas, que por sua vez são constituídas por um grupo de vogais que possivelmente está imprensado entre dois grupos consoantes. Nem todos os sons são pronunciáveis em todas as posições e, como isso depende do idioma, usaremos padrões compreensíveis para os falantes de inglês
Iniciando grupos consoantes:
b c d f g h j k l m n p r s t v w y z bl br ch cl dr dr 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 thr
Grupos de vogais:
a e i o u ae ai ao au ee ei eu ie ie io oa oe oi oo ou ue ui
Grupos consoantes finais:
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 r r r r r r r r r r r r r r r r sh sh sp sp st zz lch lsh lth rch rsh rst rth sch tch
Combinando sílabas
Os grupos consoante inicial e final são opcionais em geral, no entanto, você não pode colocar uma sílaba final com uma vogal imediatamente antes de iniciar uma vogal.
aviso Legal
No interesse da simplicidade, certas palavras em inglês não podem ser geradas dessa maneira, como vácuo, xilofone, mnemônico, pterodátilo, bonito, blá, eles, uau e o plural.
Visão geral
Possíveis padrões de sílabas usando esta chave:
(SC) = consoante inicial; (V) = grupo de vogais; (CE) = consoante final
Para uma sílaba:
- (SC) (V) (CE)
- (V) (CE)
- (SC) (V)
- (V)
Com duas sílabas:
- (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 assim por diante
Exemplos
1 sílaba
- charst
- apertado
- shriegn
- eess
- shue
- oo
- cheezz
2 sílabas
- jazzcrap
- whylprog
- comendo
- umba
- ola
- ter
- ingsoc
- greespheurz
- bleuspoo
3 sílabas
- brokiompic
- squirdshlicker
- capital
- opengtrass
- repensar
- grande irmão
- phoebliaptmoo
- skolfblauquent
4 sílabas
- strawishoepick
- patchworkzombie
- prearneajoomie
- slephotoschou
- doubleplusgood
Codificação
Entrada: um número inteiro para o número de sílabas a serem geradas
Saída: uma palavra (provavelmente) sem sentido, com muitas sílabas
Regras
- É necessária alguma forma de aleatoriedade (psuedo). Todas as combinações de sílabas devem ser (teoricamente) possíveis de gerar, embora a distribuição não precise ser uniforme.
- Você pode supor que seu gerador é aperiódico, portanto, não precisa ser matematicamente possível gerar todas as palavras possíveis (pode não ter um período suficientemente longo na realidade) e você não precisa fornecer nenhum tipo de prova de que seu gerador pode, de fato, produzir todas as palavras possíveis.
- Seu gerador deve ser capaz de produzir pelo menos 255 valores distintos; portanto, você não pode simplesmente retornar 4 toda vez que o gerador for chamado.
- O mais importante é que, de alguma forma, você inclua todos os grupos de letras acima em seu código, que cada grupo de letras tenha uma probabilidade diferente de zero de ser escolhido e cada padrão de sílaba tenha uma probabilidade diferente de zero (se fornecida com verdadeira aleatoriedade).
- Você deve suportar até 16 palavras de sílaba
- Além das regras de combinação de sílabas, a palavra de saída não deve conter:
- 3 vogais consecutivas (
a
e
i
o
u
; isso pode acontecer porqu
palavras) - 3 consoantes correspondentes consecutivas
- 3 vogais consecutivas (
Boa sorte!
Observe que isso é diferente de Gerar uma palavra pronunciável por alguns motivos:
- Número variável de sílabas especificadas por entrada, em vez de um requisito estrito de 10 letras.
- Esse desafio adiciona grupos de letras não exaustivos que devem ser (habilmente) codificados e permitem mais variantes de sílabas, para que o código não possa ser copiado apenas do outro desafio
- Squirdshlicker. Preciso dizer mais?
Também esqueci de enganar o cheque, mas acontece que isso traz bastante novidade para a mesa que não importa. Afinal, existem centenas de desafios de variantes de quine.