combinação

8 respostas
Deluxe

pessoal
alguem sabe como faço um script
pra gerar todas combinações do alfabeto em uma palavra de 6 digitos?

Exemplo

“aaaaaa”
“bbbbbb”
“ababab”



.

vlw

8 Respostas

rmendes08

É só você usar 6 loops for aninhados, uma para cada dígito, de ‘a’ até ‘z’, colocando em um StringBuffer. Mas seja lá o que você vai fazer com isso, tenho certeza de que não é o melhor jeito.

Deluxe

qual o melhor jeito entao?

eu tenho uma maquina disponivel só pra isso…
eu sei que isso vai trazer torno de 308 milhões de combinação…
mas não acho nada na internet q gera isso…

pode me ajudar?
mais ou menos como é…

T

26 ^6 = 308.915.776

Se você imprimir 1000 combinações por segundo, você irá gastar 85 horas e 49 minutos para gerar todas as combinações.

De qualquer maneira, como foi dito, basta pôr um “for” dentro do outro.

Deluxe

sim, pode me da um exemplo de como é um for desse?

um exemplo simples
como se fosse todas as combinações de ABC em um elemento de 3 digitos por exemplo…

Andre_Brito

Dá uma lida nesse artigo. Eu aposto que tem muita coisa a mais que você precisa, mas é um artigo que eu acho que vale a pena ler pelo fato de que você pode deparar com algum problema envolvendo alguma coisa mais complexa.

Abraço.

Respondendo ao tópico do ABC:
Eu faria da seguinte maneira: começaria tudo com ‘A’ (AAA). O for mais interno seria pra variar a última letra (entre A, B e C). O segundo for menos interno (acima do for mais interno) seria para variar a letra do meio e o “outter” for seria para variar a primeira letra.

rmendes08
char [] letras = {a,b,c};

for( int i = 0 ; i < letras.length ; i++ ){
   for( int j = 0 ; j < letras.length ; j++ ){
      for( int k = 0 ; k < letras.length ; k++ ){
          System.out.println("" + letras[i] + letras[j] + letras[k] );
      }
   }
}

Agora como o thingol mostrou, para a entrada que você quer você vai levar dias processando. O que eu quis dizer no post anterior, é que se isso for um problema secundário que você precisa resolver para encontrar a solução de um problema maior, eu tenho quase certeza que existe uma alternativa melhor a esta.

rmendes08

Andre Brito:
Dá uma lida nesse artigo. Eu aposto que tem muita coisa a mais que você precisa, mas é um artigo que eu acho que vale a pena ler pelo fato de que você pode deparar com algum problema envolvendo alguma coisa mais complexa.

Abraço.

Respondendo ao tópico do ABC:
Eu faria da seguinte maneira: começaria tudo com ‘A’ (AAA). O for mais interno seria pra variar a última letra (entre A, B e C). O segundo for menos interno (acima do for mais interno) seria para variar a letra do meio e o “outter” for seria para variar a primeira letra.

(OFF)Hehehehehe … eu diria que uns 90% dos programadores que eu conheço correriam ao ver essa matemática. Geralmente é aquela galera que torce o nariz na faculdade …

Andre_Brito

rmendes08:
Andre Brito:
Dá uma lida nesse artigo. Eu aposto que tem muita coisa a mais que você precisa, mas é um artigo que eu acho que vale a pena ler pelo fato de que você pode deparar com algum problema envolvendo alguma coisa mais complexa.

Abraço.

Respondendo ao tópico do ABC:
Eu faria da seguinte maneira: começaria tudo com ‘A’ (AAA). O for mais interno seria pra variar a última letra (entre A, B e C). O segundo for menos interno (acima do for mais interno) seria para variar a letra do meio e o “outter” for seria para variar a primeira letra.

(OFF)Hehehehehe … eu diria que uns 90% dos programadores que eu conheço correriam ao ver essa matemática. Geralmente é aquela galera que torce o nariz na faculdade …


Infelizmente, é verdade.

Criado 26 de janeiro de 2009
Ultima resposta 26 de jan. de 2009
Respostas 8
Participantes 4