rockcavera Posted December 12, 2019 Share Posted December 12, 2019 A Fórmula de Schonheim é representada da seguinte maneira: C(v,k,t) >= (v/k) * C(v-1,k-1,t-1) Sendo que: C = número de blocos v = quantidade de números no sistema k = quantidade de números por bloco t = garantia pretendida Vamos obter o mínimo para C(30, 5, 3): v = 30 k = 5 t = 3 Aplicando na fórmula: C(30, 5, 3) >= (30/5) * C(29, 4, 2) E agora? Como eu vou obter C(29, 4, 2)? Aplica de novo a fórmula! C(29, 4, 2) >= (29/4) * C(28, 3, 1) De novo? E agora, como obter C(28, 3, 1)? Aplica a fórmula! C(28, 3, 1) >= (28/3) * C(27, 2, 0) Já está ficando chato isso, neh? Calma! Agora as coisas melhoram. Sempre quando t = 0 o C será 1. Ou seja, C(v, k, 0) = 1. Entendeu? Agora nós temos C(27, 2, 0)! C(27, 2, 0) >= 1 É só substituir e calcular C(28, 3, 1): C(28, 3, 1) >= (28/3) * C(27, 2, 0) C(28, 3, 1) >= (28/3) * 1 C(28, 3, 1) >= 28/3 C(28, 3, 1) >= 9,333... Agora vem um detalhe. Sempre que a divisão não for inteira, arredonde para cima! Então: C(28, 3, 1) >= 10 Retornando no C(29, 4, 2), já que temos C(28, 3, 1): C(29, 4, 2) >= (29/4) * C(28, 3, 1) C(29, 4, 2) >= (29/4) * 10 C(29, 4, 2) >= 290/4 C(29, 4, 2) >= 72,5 C(29, 4, 2) >= 73 Temos também C(29, 4, 2), já podemos obter o tão esperado C(30, 5, 3): C(30, 5, 3) >= (30/5) * C(29, 4, 2) C(30, 5, 3) >= (30/5) * 73 C(30, 5, 3) >= 2190/5 C(30, 5, 3) >= 438 Nesse último a divisão deu inteira, então não precisou arredondar para cima. Portanto, a mínimo teórico para C(30, 5, 3) é 438 ou mais blocos! Vamos fazer mais um exemplo para fixar bem. Vamos obter o mínimo teórico de C(15,6,4). C(15, 6, 4) >= (15/6) * C(14, 5, 3) Vamos deixar de lado C(15, 6, 4) e vamos tentar obter C(14, 5, 3). C(14, 5, 3) >= (14/5) * C(13, 4, 2) Vamos deixar de lado C(14, 5, 3) e vamos tentar obter C(13, 4, 2). C(13, 4, 2) >= (13/4) * C(12, 3, 1) Vamos deixar de lado C(13, 4, 2) e vamos tentar obter C(12, 3, 1). C(12, 3, 1) >= (12/3) * C(11, 2, 0) Como sabemos que todo C(v, k, 0) é igual a 1, então é só substituir C(11, 2, 0) por 1. C(12, 3, 1) >= (12/3) * 1 C(12, 3, 1) >= 12/3 C(12, 3, 1) >= 4 Voltando em C(13, 4, 2): C(13, 4, 2) >= (13/4) * C(12, 3, 1) C(13, 4, 2) >= (13/4) * 4 C(13, 4, 2) >= 52/4 C(13, 4, 2) >= 13 Voltando em C(14, 5, 3): C(14, 5, 3) >= (14/5) * C(13, 4, 2) C(14, 5, 3) >= (14/5) * 13 C(14, 5, 3) >= 182/5 C(14, 5, 3) >= 36,4 C(14, 5, 3) >= 37 Voltando em C(15, 6, 4): C(15, 6, 4) >= (15/6) * C(14, 5, 3) C(15, 6, 4) >= (15/6) * 37 C(15, 6, 4) >= 555/6 C(15, 6, 4) >= 92,5 C(15, 6, 4) >= 93 Pronto! O mínimo teórico de C(15, 6, 4) é 93 ou mais blocos. Espero ter explicado bem como se aplica essa fórmula. Caso persista dúvidas, sinta-se à vontade para perguntar. 8 1 Quote Link to comment Share on other sites More sharing options...
Julio Cezar Posted December 13, 2019 Share Posted December 13, 2019 @rockcavera C(15, 6, 4) >= 93 Muito boa para 20 com 5 fixas Posso Agrupar 100 em 4 x 25 e Dispenso 5 e FIXO 5 E PIMBA com 93 Me diga si tentou e no que deu? Quote Link to comment Share on other sites More sharing options...
edi8 Posted December 13, 2019 Share Posted December 13, 2019 15,6,4,4=117 https://ljcr.dmgordon.org/cover/show_cover.php?v=15&k=6&t=4 Quote Link to comment Share on other sites More sharing options...
rockcavera Posted December 13, 2019 Author Share Posted December 13, 2019 2 horas atrás, Julio Cezar disse: @rockcavera C(15, 6, 4) >= 93 Muito boa para 20 com 5 fixas Posso Agrupar 100 em 4 x 25 e Dispenso 5 e FIXO 5 E PIMBA com 93 Me diga si tentou e no que deu? Nunca tentei, Julio. Quase não ando jogando. Quando eu jogo (acumulado ou concursos especiais), não tenho feito assim. Quote Link to comment Share on other sites More sharing options...
MOC Posted January 12, 2020 Share Posted January 12, 2020 Implementei a fórmula de Schonheim em meu site de forma a realizar o cálculo recursivamente. Utilizei o exemplo postado pelo @rockcavera http://megacombinacao.online/Schonheim.php 3 Quote Link to comment Share on other sites More sharing options...
rockcavera Posted January 13, 2020 Author Share Posted January 13, 2020 6 horas atrás, MOC disse: Implementei a fórmula de Schonheim em meu site de forma a realizar o cálculo recursivamente. Utilizei o exemplo postado pelo @rockcavera http://megacombinacao.online/Schonheim.php A título de curiosidade, é possível fazer o cálculo sem usar recursividade, que em muitas linguagens é limitada ou proibida. Aqui está o código meu em PHP: function schonheim($v, $k, $t) { $i = $t - 1; $r = '1'; while ($i >= 0) { $r = bcmul($r, $v - $i); if ('0' == bcmod($r, $k - $i)) $r = bcdiv($r, $k - $i); else $r = bcadd(bcdiv($r, $k - $i), '1'); $i--; } return $r; } Código simples e limpo. $r é o resultado final e começa como 1, pois sabemos que 1 é o mínimo teórico de todos os sistemas que T = 0. O cálculo é todo efetuado dentro de um loop, que começa de T = 0 até T = x, onde x é o valor do T do sistema V,K,T desejado. Observação: utilizei BCMath do PHP para poder usar números maiores que os limites das operações matemáticas convencionais do PHP. 2 Quote Link to comment Share on other sites More sharing options...
bitwizardry Posted January 16, 2020 Share Posted January 16, 2020 Apenas complementando com mais uma informação, para aqueles que ainda não sabem como calcular o mínimo teórico usando a fórmula tradicional, aqui está: Quote Link to comment Share on other sites More sharing options...
khundalini Posted April 13, 2020 Share Posted April 13, 2020 E como fica esse cálculo quando entra a condição (M)? Quote Link to comment Share on other sites More sharing options...
rockcavera Posted April 22, 2020 Author Share Posted April 22, 2020 Em 13/04/2020 em 14:42, khundalini disse: E como fica esse cálculo quando entra a condição (M)? Em 15/01/2020 em 22:40, bitwizardry disse: Apenas complementando com mais uma informação, para aqueles que ainda não sabem como calcular o mínimo teórico usando a fórmula tradicional, aqui está: @khundalini o amigo acima da sua postagem mencionou a fórmula. Você pode pegar a mesma fórmula escrita de outra forma em www.lotdrw.tk, na parte de ferramentas. Claro que para usar a fórmula é necessário conhecimentos de matemática. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.