• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

nata79

lista de combinações possiveis

8 mensagens neste tópico

Boas,

alguma ideia de como criar uma lista com todas as combinações possiveis n a n de 4 letras?

por exemplo, com as letras A, C, G e T e com n = 2 seria:

AA, AC, AG, AT, CA, CC, CG, CT, GA, GC, GG, GT, TA, TC, TG, TT

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

isso seria sem repetições de letras... o que não corresponde á minha duvida... pelo menos pelo que percebi do site que puseste...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A isso chama-se tecnicas de contagem.

Arranjos de m elementos n a n. Consideremos m elementos, todos distintos, o número total de arranjos distintos de n elementos (n <= m) que se podem formar com aqueles m elementos é dado por:

Amn = m * (m-1) * ... * (m - n + 1) = m! / (m - n)!

Ou seja basta usares a formula

Factorial de m / Factorial de (m-n)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não, o numero de elementos é dado pela formula m^n, como no exemplo que dei no meu primeiro post com o m = 4 e n = 2 dá 16 possibilidades.

mas a minha duvida não é cacular no mumero de combinações mas sim as combinações em si, como no exemplo que fiz acima.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Consideremos m elementos, todos distintos

no exemplo que deste os arranjos não são destintos por isso tens que somar mais 4 arranjos ao resultado.

Logo o total é  (Factorial de m / Factorial de (m-n)) + m

Como gerar a combinações é facil

dois arrays iguais com os elementos , depois é so percorrer um e ir combinando com o outro e ir colocando o resultado num terceiro array.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
dois arrays iguais com os elementos , depois é so percorrer um e ir combinando com o outro e ir colocando o resultado num terceiro array.

dessa forma apenas consigo as combinações de 2 a 2 e não de n a n, sendo que n pode ser um numero qq...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso não são combinações, pois a ordem é tida em conta, e porque podem haver elementos repetido. Isso são arranjos com repetição.

para n letras diferentes (por exemplo, A,B, e C), e sequências de m elementos:


seq=[A,B,C]

para i de 0 a n^m-1

  k=i

  para j de 0 a m-1

    res[ i][j]=seq[k mod n]

    k=k div n


Para as contas baterem certo, é necessário que os elementos de seq sejam indexados da posição 0 à posição n-1.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora