Este programa recebe o número de dezenas que o jogador da Mega-Sena pretende jogar.
Porém, o jogador só pode apostar 6 dezenas em cada jogo. Logo, o objetivo do programa é pegar as “n” dezenas (7,8,9 ou 10 dezenas) e mostrar as combinações tomadas 6 à 6.
Comecei a desenvolver o codigo, mas eu só sei criar um programa para um numero de dezenas que eu já sei e ainda com essas dezenas informadas no código.
Observem abaixo que este codigo só resolve meu problema para 7 dezenas e especificamente para as dezenas: 8,16,32,34,40,46,54.
Minha duvida é: como eu armazeno os numeros do jogador ali no lugar desses numeros. Isto é, evitar dos numeros ja ficarem incluidos no codigo.
Importante: O jogador é limitado ao numero de dezenas que vai inserir. Ele soh pode inserir 6,7,8,9 ou 10 dezenas.
import java.util.Scanner;
public class Combinacoes{
private int numeros[] = {8,16,32,34,40,46,54};//aqui devera ficar armazenado as dezenas do jogador.
private int quantidade = 6;//sempre, o numero de combinaçoes é tomado 6 à 6.
private int resultado[] = new int[6];//aqui é 6 porque é o numero padrao de apostas.
private int count = 0;
private void busca(int inicio,int fim, int profundidade){
if ( (profundidade + 1) >= quantidade)
for(int x = inicio; x <= fim; x++){
resultado[profundidade] = numeros[x];
count++;
System.out.println(resultado[0] + ", "+resultado[1] + ", "+resultado[2]+", "+resultado[3]+", "+resultado[4]+", "+resultado[5]+"\n");
}
else
for(int x = inicio; x <= fim; x++){
resultado[profundidade] = numeros[x];
busca(x + 1,fim + 1,profundidade + 1);
}
}
public static void main(String args[]){
int n;
Scanner sc;
sc = new Scanner(System.in);
System.out.println("Informe a quantidade de dezenas que voce pretende apostar.");
n = sc.nextInt(); //coloquei isso aqui caso seja necessário usar Condicional, cada uma para uma quantidade de dezenas.
System.out.println("Agora, informe essas dezenas para que seja mostado todas as combinaçoes com 6 elementos.");
/*Aqui está o problema... Como eu faço para armazernar uma quantidade de números que o usuário vai informar, lembrando que
essa quantidade so pode ser 6,7,8,9 ou 10 dezenas.*/
Combinacoes comb = new Combinacoes();
comb.busca(0, (7-6), 0);//aqui esta a formula de combinaçoes, onde o 7 é o numero de elementos e o 6 a quantidade de elementos por grupo.
System.out.println("Total de combinacoes: " + comb.count);//isso aqui nao é tao importante, mas da "confiança" a resposta.
}
}
