Jump to content

Joelsonc3

Membro Inativo
  • Posts

    7
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Joelsonc3's Achievements

Apprentice

Apprentice (3/14)

  • Reacting Well Rare
  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

3

Reputation

  1. pelo que eu entendi do seu exemplo eu simplifique veja tenho a seguinte combinação 5 numeros de 2 a 2 é igual 10. quero forma grupos de 3. temos as combinações 2 a 2: 1;2 1;3 1;4 1;5 2;3 2;4 2;5 3;4 3;5 4;5 queremos montar os grupos baseados na lista acima de 3. primeiro grupo a ser montado é 1;2 1;3 temos = 1;1;2;3 removendo o duplicado o grupo é 1;2;3 proximo grupo a ser montado é 1;4 1;5 temos = 1;1;4;5 removendo o duplicado o grupo é 1;4;5 proximo grupo a ser montado é 2;3 2;4 temos = 2;2;3;4 removendo o duplicado o grupo é 2;3;4 aqui temos uma inconcistencia. se você pudesse explicar melhor para uma resolução. proximo grupo a ser montado é 2;5 3;4 temos = 2;3;4;5 grupo é maior do que 3. reservamos 3;4 proximo grupo a ser montado preservamos do anterior 2;5 com proximo 3,5 temos = 2;3;5;5 removendo o duplicado o grupo é 2;3;5 proximo grupo a ser montado preservamos 3;4 4,5 temos = 3;4;4;5 removendo o duplicado o grupo é 3;4;5 os grupos: 1;2;3 1;4;5 2;3;4 2;3;5 3;4;5 aguardo sua resposta.
  2. Eu fiz um algoritmo parecido, vou tomar como exemplo a mega sena, combinado 10 números em conjuntos 6 em 6 é igual 210 jogos, se eu quero fazer um fechamento para garantir a quadra crio conjuntos 4 em 4 que da também 210. Aplicando a redução ou comparando as lista 1 e lista2, me retorna 23 volantes 100%. 4 acertos. o meu grande problema que tenho que varrer duas lista e processo se torna lento. eu busco é forma de processo ser mais rápido por isso a minha pergunta. segue abaixo: 1;2;3;4;5;6 1;2;3;4;8;10 1;2;3;5;7;10 1;2;3;7;8;9 1;2;4;6;7;9 1;2;5;6;7;8 1;2;5;6;9;10 1;2;6;8;9;10 1;3;4;5;7;9 1;3;5;6;8;9 1;3;6;7;9;10 1;4;5;6;9;10 1;4;5;7;8;10 1;4;6;8;9;10 2;3;4;5;7;10 2;3;4;5;8;9 2;3;4;6;7;8 2;3;4;6;9;10 2;4;6;7;9;10 2;5;7;8;9;10 3;5;6;7;8;10 3;5;6;8;9;10 4;5;6;7;8;9
  3. Obrigado pelo exemplo, eu já tenho isso, no caso que você apresenta, se acerta 4 números, você só tem cartões com 3 acertos, se acerta as 5 sorteadas, você tem quadra no exemplo apresentado. neste exemplo sempre vai haver a dependência de uma dezena. iguais >= 4, eu pergunto resolver se for igual == 4, ou seja se eu acerta apenas 4 quero encontra, por isso eu perguntei se existe alguma forma utilizando soma ou questão logica. exemplo simples de código abaixo faz isso: package Quina; import java.util.Scanner; public class Quina { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int[][] array = new int[999][5]; // matriz declaration int[] vetorA = new int[5]; // vetor declaration int qtde = 0, cont = 0, volantes = 0, reduzidos = 0; int n1, n2, n3, n4, n5; int Tamanho = 5; int iguais = 0; System.out.println("Qtde de dezenas a combinar:"); qtde = scan.nextInt(); for (n1 = 1; n1 <= qtde - 4; n1++) { vetorA[0] = n1; for (n2 = n1 + 1; n2 <= qtde - 3; n2++) { vetorA[1] = n2; for (n3 = n2 + 1; n3 <= qtde - 2; n3++) { vetorA[2] = n3; for (n4 = n3 + 1; n4 <= qtde - 1; n4++) { vetorA[3] = n4; for (n5 = n4 + 1; n5 <= qtde; n5++) { vetorA[4] = n5; volantes++; // count generated combinations for (int k = 0; k <= cont; k++) { iguais = 0; for (int i = 0; i < Tamanho; i++) { for (int j = 0; j < Tamanho; j++) { if (vetorA[i] == array[k][j]) { iguais++; } } } if (iguais >= 4) { break; } } // if iguais is less than 4, store it in the matrix if (iguais < 4) { cont++; for (int x = 0; x < Tamanho; x++) { array[cont][x] = vetorA[x]; } System.out.println("cartoes " + cont + ": " + vetorA[0] + " " + vetorA[1] + " " + vetorA[2] + " " + vetorA[3] + " " + vetorA[4]); reduzidos++; } } } } } } System.out.println("total reduzidos:" + reduzidos); System.out.println("Total volantes:" + volantes); } }
  4. Olá pessoal tudo bem, eu gostaria de uma orientação, qual é a melhor forma para aplicar uma buscar para garantir um processamento eficiente para um fechamento sabendo das quantidades, se é a "SOMA" e como fazer ou outra forma. Vou desenvolver em java. no nosso exemplo eu usei 5 numeros combinados de 3 em 3 que é igual 10 volantes está abaixo a lista. Aplicando uma redução para se ter uma garantia 2 acertos 100%, temos 4 volantes. Se alguém pode mostra como fazer, seja como codigo ou excel agaradeço. Assim que terminar codigo posto aqui. lista 1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5 resultado 1 2 3 1 4 5 2 3 4 2 3 5
  5. Bem o algoritmos pelo eu entendi, você tá querendo dessa forma: 1 2 3 4 vai ate 15 1 2 1 3 1 4 assim até 15 Depois com 1 2 3 4 5 6 ate 15 1 2 3 1 2 4 1 2 5 assim ate 15 Trabalhando conjunto 2, depois 3, depois 4, 5, 6, 7 isso não é difícil de fazer, o meu problema está justamente no padrão v k t m =b Se alguém poder me enviar como fazer essa rotação, posto a matriz completa.
  6. Bom dia Pessoal talvez esse assunto já seja muito batido na net, mais eu não achei uma solução, eu estou querendo uma luz. Fechamento para acerto de terno na quina. o objetivo e acertar a logica do fechamento. Combinando 8 dezenas de grupos de 5 é igual 56 volantes, dentro desses 56 volantes a vários ternos repetidos, gostaria de remover esses ternos repetidos. detalhe não se preocupem com gerador ou quantidade para combinar. minha duvida: no código abaixo ele me apresenta a seguinte matriz. onde está o meu erro de logica, pois tem conjunto de três iguais que não encontro no fechamento na matriz abaixo. está na matriz abaixo, tem: 123, 124, 125,134,135,145,234,234,345, 126,127,128,267,267,278,345,346,347,356,357,367. não está na matriz abaixo, não tem: 1 3 6; 1 3 7; 1 3 8; 1 4 6; 1 4 7; 1 4 8; 1 5 6; 1 5 7; 1 5 8; 2 3 6; 2 3 7; 2 3 8; 2 4 5; 2 4 6; 2 4 7; 2 4 8; 2 5 6; 2 5 7; 2 5 8; 2 6 7; 2 6 8; 2 7 8; 3 4 8; 3 5 6; 3 5 7; 3 5 8; 3 6 7; 3 6 8; 3 7 8; 4 5 8; 4 6 7; 4 6 8; 4 7 8; 5 6 8; 5 7 8; 6 7 8; matriz do código: 1 2 3 4 5 1 2 6 7 8 3 4 5 6 7 como a matriz deve ficar: 1 2 3 4 6; 1 2 3 5 8; 1 2 4 7 8; 1 3 6 7 8; 1 4 5 6 7; 2 3 4 5 7; 2 5 6 7 8; 3 4 5 6 8; package br.Exercicio; import java.util.Scanner; public class CombinaReduzido { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int[] vetA = new int[5]; int[][] array = new int[99999][5]; int num = 0, iguais = 0,cont = 0, total = 0; System.out.println("Digite numero Comb:"); num = scan.nextInt(); for (int n1 = 1; n1 <= num; n1++) { vetA[0] = n1; for (int n2 =n1 + 1;n2 <= num; n2++) { vetA[1] = n2; for (int n3 =n2 + 1;n3 <= num; n3++) { vetA[2] = n3; for (int n4 =n3 + 1;n4 <= num; n4++) { vetA[3] = n4; for (int n5 =n4 + 1;n5 <= num; n5++) { vetA[4] = n5; total++; for (int t = 0; t <= cont; t++) { iguais = 0; for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if (vetA == array[t][j]) { iguais = iguais + 1; } } } if (iguais > 3) { break; } } if (iguais < 3) { cont = cont + 1; for (int x = 0; x < 5; x++) { array[cont][x] = vetA[x]; } System.out.println(" "+vetA[0]+" "+vetA[1]+" "+ vetA[2]+" "+ vetA[3]+" "+vetA[4]); } } } } } } System.out.println("reduzidos:"+ cont); System.out.println("total gerados:"+ total); } }
×
×
  • Create New...