[off] Probabilidade

9 respostas
heliob

Olá,

Se possuo a seguinte sequência de caracteres:

String alpha = “ABC”;

E fosse gerar “palavras” aleatórias utilizando três letras por vez eu teria no máximo 9 palavras:

ABC
ACB
BCA
BAC
CAB
CBA

Mas caso eu fosse gerar uma sequência com 4 letras. Quais seriam a posibilidade (em quantidade)?

Alguém sabe fazer esse cálculo?

Abraços,
Hélio

9 Respostas

nbluis

Numero de Posicoes^Possibilidades

Tipo ABC.

Se tu vai ter 3 casas, e cada uma pode ser ABC, logo seria

3x3x3

Se são 3 cadas e quatro posicoes, seria

4x4x4x4.

Entendeu?

andreiribas

fatorial de n, sendo n o número de letras.
se não for isso é arranjo ou combinação de n letras.

marcosbrandao

Depende exatamente do que voce quer:

Se as letras podem repetir vc deve fazer o calculo como o nbluis mostrou ali em baixo. Mas se as letras nao podem ser repetidas vc devem fazer:

4x3x2x1

Na primeira casa vc pode ter as 4 opçoes, na segunda vc so pode ter mais 3 opções pq uma ja foi usada na primeira casa, e assim por adiante…

marcosbrandao

marcosbrandao:
Depende exatamente do que voce quer:

Se as letras podem repetir vc deve fazer o calculo como o nbluis mostrou em cima. Mas se as letras nao podem ser repetidas vc devem fazer:

4x3x2x1

Na primeira casa vc pode ter as 4 opçoes, na segunda vc so pode ter mais 3 opções pq uma ja foi usada na primeira casa, e assim por adiante…

peczenyj

heliob:
E fosse gerar “palavras” aleatórias utilizando três letras por vez eu teria no máximo 9 palavras:

ABC
ACB
BCA
BAC
CAB
CBA

Vc quis dizer 6 palavras :wink:

3! = 3 x 2 x 1 = 6

sergiotaborda

heliob:
Olá,

Se possuo a seguinte sequência de caracteres:

String alpha = “ABC”;

E fosse gerar “palavras” aleatórias utilizando três letras por vez eu teria no máximo 9 palavras:

ABC
ACB
BCA
BAC
CAB
CBA

Mas caso eu fosse gerar uma sequência com 4 letras. Quais seriam a posibilidade (em quantidade)?

Se vc fosse gerar palavras aleatoriamente teria tb AAB , ACC , BAA etc… Nesse caso seriam mais as combinações possiveis.
Se vc quer saber apenas de quantas formas diferentes vc pode rearrajar as letras,então ai a resposta é o factorial no numero de letras (desde que elas sejam todas diferentes)… como ja foi dito. Vc quer aleatório ou não?

ViniGodoy

Você está falando de análise combinatória, matéria aprendida no segundo grau.

No caso, arranjo, permutação e combinação.

Dá uma olhada nesses links:
http://www.mundofisico.joinville.udesc.br/PreVestibular/2005-1/mod1/node59.html
http://www.numaboa.com.br/criptologia/matematica/combinatoria.php
http://www.sosmatematica.com/Anacomb.htm

Creio que seu caso seja resolvido através de arranjo, uma vez que você não quer letras se repitam.

heliob

Valew Galera.

Então pra eu calcular as possibilidades estaria certo esse algoritimo? No caso é sempre o número multiplicado por ele menos 1.

<?php function calcula($n){ if($n == 0) return $n; return $n * ($n-1) + calcula($n-1); } $resultado = calcula(29); echo $resultado; ?>

Abraços,
Hélio

sergiotaborda

heliob:
Valew Galera.

Então pra eu calcular as possibilidades estaria certo esse algoritimo? No caso é sempre o número multiplicado por ele menos 1.

<?php function calcula($n){ if($n == 0) return $n; return $n * ($n-1) + calcula($n-1); } $resultado = calcula(29); echo $resultado; ?>

Abraços,
Hélio

Esse algortimo estaria certo para calcular fatorial. Calculo de propabilidade depende do problema.
Só que esse algoritmo não consegue calcular factorial de todos os numeros (aliás, nenhum consegue).
Em java vc tem duas hipoteses 1) Usa BigInteger e consegue calcular o factorial de qq numero que a memoria da sua máquina permitir
2) simplifica o calculo de probabildiade( por exemplo uma combinação (n,K) pode ser simplifica programaticamente para calcular factoriais de numeros mais pequenos que n e k )
3) Usa 1 e 2 em conjunto.

Criado 20 de março de 2007
Ultima resposta 20 de mar. de 2007
Respostas 9
Participantes 7