Dada uma sequência que contém apenas letras (sem distinção entre maiúsculas e minúsculas), divida-a em palavras de comprimentos uniformemente aleatórios, usando a distribuição abaixo, com exceção da última palavra, que pode ter qualquer comprimento válido (1-10). Sua saída são essas palavras, como uma sequência separada por espaço ( "test te tests"
), uma matriz de sequências ( ["test","te","tests"]
) ou qualquer outro formato de saída semelhante.
Distribuição do comprimento da palavra
Word Length - Fractional Chance / 72 - Rounded Percentage
1 - 2 / 72 - 2.78%
2 - 14 / 72 - 19.44%
3 - 16 / 72 - 22.22%
4 - 12 / 72 - 16.67%
5 - 8 / 72 - 11.11%
6 - 6 / 72 - 8.33%
7 - 5 / 72 - 6.94%
8 - 4 / 72 - 5.56%
9 - 3 / 72 - 4.17%
10 - 2 / 72 - 2.78%
Suas probabilidades não precisam corresponder exatamente - elas podem ser desativadas por 1/144
th ou .69%
, em qualquer direção (mas obviamente elas ainda devem somar 72/72
ou 100%
).
Os dados foram adivinhados a partir da quarta página, primeira figura deste artigo .
Casos de teste com saída de amostra
O comportamento em casos de teste muito curtos (comprimento <11) é indefinido.
Observe que eu os criei manualmente, para que eles sigam ou não a distribuição uniforme acima.
abcdefghijklmnopqrstuvwxyz
abcd efgh i jklmnopq rs tu vwx yz
thequickbrownfoxjumpedoverthelazydog
t heq uick brown fo xj ump edo vert helazydog
ascuyoiuawerknbadhcviuahsiduferbfalskdjhvlkcjhaiusdyfajsefbksdbfkalsjcuyasjehflkjhfalksdblhsgdfasudyfekjfalksdjfhlkasefyuiaydskfjashdflkasdhfksd
asc uyoi uawer k nb a dhcviua hsid ufe r bfa lskd jhv lkcj haius dy faj se fbks dbfkals jcuyasjehf lkjh falk sd blhsgdf asudyfekjf alk sdjfhlk asefyu iaydskfja shdflk as dhf ksd
Isso é código-golfe , então a resposta mais curta em bytes vence.