Joelsonc3
Membro Inativo-
Posts
7 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Everything posted by Joelsonc3
-
COMO SE MONTA UMA MATRIZ OTIMIZADA ! ! !
Joelsonc3 replied to nathanael sampaio's topic in LotoFacil
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. -
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
-
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); } }
-
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
-
Algoritmos para Loterias (só ideias...)
Joelsonc3 replied to Wata's topic in Programas para Loterias
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. -
Algoritmos para Loterias (só ideias...)
Joelsonc3 replied to Wata's topic in Programas para Loterias
-
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); } }