SOFSTICA - Combinações em JavaScript

Número de Combinações - JavaScript

Site Sofstica - educacional

Atualizado em 06.06.2021, às 15h43min

Em nosso encontro anterior, deixamos um desafio para nossos visitantes. Quantas combinações de 3 em 3 números se podem formar, com os números inteiros de 1 a 9? De acordo com o que vimos, lá no citado encontro, *C(n,p) = n! / p! x (n - p)!.
Ou seja: **C(n,p) = C(9,3) = (9 x 8 x 7 x 6!) / 3! x (9 - 3)! = (9 x 8 x 7 x 6!) / 3! x 6! => C(9, 3) = (9 x 8 x 7) / 3! = 9 x 8 x 7 / 3 x 2 x 1 => C(9,3) = 3 x 4 x 7 = 84.
* Lê-se combinação de n elementos, tomados p a p elementos.
** Simplifica-se o 6! do numerador pelo do denominador. Depois simplificam-se o 9 por 3 e 4 por 2. Quando já se está habituado aos cálculos e, seguro de que não houve erros nas contas, a pessoa não terá nenhuma dúvida sobre a correção do resultado. Entretanto, no início, a pessoa ficará tentada a provar a correção, escrevendo todos os ternos e, fazendo sua contagem. Se você se julga muito persistente, pode até escrever as combinações, uma a uma e contá-las. Este, entretanto, não é o método recomendado. Procure estudar a aula anterior e, também esta, exaustiva e pacientemente, até dominar o método.
Montarei um pequeno formulário, abaixo e, através de um script em JavaScript, disponibilizarei uma espécie de calculadora, capaz de calcular todas as combinações possíveis até determinado limite***:
*** No momento, não há interesse em se determinar este limite.
     P  

Entre com 0 9 no primeiro box e o 3 no segundo. Clique sobre o botão e receba uma mensagem, confirmando a correção do resultado = 84.
Quem sabe programar em JavaScript pode obter o código fonte do script, da seguinte forma: clique com o botão direito do mouse sobre a tela que contém o script. Selecione "Exibir código fonte da página", clicando a citada opção. Voce pode usar o código à vontade, inclusive introduzindo alterações e/ou melhorias nele.
Para aqueles que não programam, montarei, abaixo, um novo script, este listando todas as combinações possíveis.Nunca se esqueça que, em combinações, grupos formados pelos mesmos elementos - 3 em nosso caso presente - são contados apenas 1 vez.

     P  


Muito bem. Acho que ficou bem claro que o primeiro script serve para calcular qualquer combinação, exceto alguma que exceda o "tamanho" de números inteiros suportados pelo dispositivo utilizado - computador, celular ou outro. Já o segundo script, somente serve para calcular combinações de 3 a 3.
Deixo 2 desafios para serem discutidos em nosso próximo encontro. 1- Utilizando-se o primeiro script calcule C(8,3), C(9,4) e C(12, 3). 2- Confirme o resultado de C(8,3) e C(12,3), utilizando-se o segundo script. 3- Esta é apenas para quem sabe programar em JavaScritp. Por quê o segundo script somente calcula combinações de 3 a 3?
Em nosso próximo encontro, mostrarei 1 ou 2 aplicações práticas das combinações. Até lá...

.