Declaração do problema
Pólya está brincando com sua urna novamente e ele quer que você o ajude a calcular algumas probabilidades.
Neste experimento de urna, Pólya possui uma urna que contém inicialmente 1 conta vermelha e 1 conta azul.
Para cada iteração, ele alcança e recupera uma conta, depois inspeciona a cor e a coloca novamente na urna.
Em seguida, ele vira uma moeda justa, se a moeda cair na cabeça, ele inserirá uma quantidade justa de rolagem de 6 faces da mesma conta colorida na urna; se ela cair, ele removerá metade do número da mesma conta colorida da urna ( Usando divisão inteira - portanto, se o número de contas da cor selecionada for ímpar, ele removerá (c-1)/2
onde c é o número de contas dessa cor)
Dado um número inteiro n ≥ 0 e um decimal r> 0, forneça a probabilidade de 2 casas decimais de que a proporção entre as cores das contas após n iterações seja maior ou igual a r no menor número de bytes.
Um conjunto de exemplos de iterações:
Deixe (x, y) definir a urna de forma que ela contenha x contas vermelhas e y contas azuis.
Iteration Urn Ratio
0 (1,1) 1
1 (5,1) 5 //Red bead retrieved, coin flip heads, die roll 4
2 (5,1) 5 //Blue bead retrieved, coin flip tails
3 (3,1) 3 //Red bead retrieved, coin flip tails
4 (3,4) 1.333... //Blue bead retrieved, coin flip heads, die roll 3
Como pode ser visto, a relação r é sempre ≥ 1 (então é o maior de vermelho ou azul dividido pelo menor)
Casos de teste:
Deixe F (n, r) definir a aplicação da função para n iterações e uma razão de r
F(0,5) = 0.00
F(1,2) = 0.50
F(1,3) = 0.42
F(5,5) = 0.28
F(10,4) = 0.31
F(40,6.25) = 0.14
Isso é código de golfe, então a solução mais curta em bytes vence.