Tarefa
A tarefa é escrever um programa que produza um número inteiro positivo consistente, mas arbitrário, (tão estritamente maior que 0). Aqui está o problema: quando a fonte é repetida vezes (o código é anexado / concatenado a si mesmo), o programa deve ter Probabilidade de N de emitire a probabilidade restante de de saídainalterado.
Exemplo
Vamos supor que sua fonte inicial seja XYZ
e produz o número inteiro 3
. Então:
Para :
XYZXYZ
deve produzir com uma probabilidade de (50% do tempo) e com uma probabilidade de também (50% do tempo).Para :
XYZXYZXYZ
deve produzir com uma probabilidade de (66,666% do tempo) ecom uma probabilidade de (33,333% do tempo)Para :
XYZXYZXYZXYZ
deve produzir com uma probabilidade de (75% do tempo) e com uma probabilidade de (25% do tempo)
e assim por diante....
Regras
Você deve criar um programa completo . A saída deve ser impressa em STDOUT.
Seu programa, em teoria, deve gerar cada valor possível com as probabilidades indicadas acima, mas um pequeno desvio em relação a isso devido à implementação aleatória é bom ( desde que a implementação não seja de uma distribuição diferente - você não pode usar um distribuição normal para salvar bytes ) .
O programa deve (novamente, em teoria) trabalhar com um valor arbitrariamente grande de , mas as limitações técnicas devido à precisão são boas para grande .
A saída deve estar na base 10 (é proibida a saída em qualquer outra base ou com notação científica). Espaços à direita / à direita e zeros à esquerda são permitidos.
A fonte inicial deve (é claro) ter pelo menos 1 byte de comprimento. Você pode não assumir uma nova linha entre cópias da sua fonte. O programa não deve receber entrada (ou ter uma entrada vazia não utilizada).
Isso é código-golfe , a pontuação de uma resposta é o tamanho da fonte (original) em bytes, com uma pontuação menor sendo melhor.
Nota: Este desafio é uma versão (muito) mais difícil deste .