Rechercher : dans
Par :

Algorithme du lotto

Dernière réponse le 7 mai 2009 à 02:10:34 cobesta, le 2 mai 2009 à 18:18:41 
 Signaler ce message aux modérateurs

Bonjour,
Je suis novice en programmation et je recherche une personne qui pourrait me renseigner pour avoir toutes les combinaisons du lotto Belge 6/42.
D'avance je vous remercie
cobesta

Configuration: Windows XP
Firefox 3.0.10

Meilleures réponses pour « algorithme du lotto » dans :
Introduction à l'algorithmique Voir Notion d'algorithme La mise au point d'un programme informatique se fait en plusieurs étapes. Il s'agit de fournir la solution à un problème, la première étape consiste donc à analyser le problème, c'est-à-dire en cerner les limites et le mettre...

1

scriptiz, le 2 mai 2009 à 19:14:15

Tu as donc 6 chiffres à choisir entre 1 et 42, pour un total de 1194064448 combinaisons. Pour tous les générer par exemple en Java, voici comment faire :

public class Lotto
{
    public static void main(String[] args)
    {
        int count = 0;
        for(int i = 1; i <= 42; i++)
        {
            for(int j = 1; j <= 42; j++)
            {
                for(int k = 1; k <= 42; k++)
                {
                    for(int l = 1; l <= 42; l++)
                    {
                        for(int m = 1; m <= 42; m++)
                        {
                            for(int n = 1; n <= 42; n++)
                            {
                                System.out.println(i+"-"+j+"-"+k+"-"+l+"-"+m+"-"+n);
                            }
                        }
                    }
                }
            }
        }
        System.out.println(count);
    }
}


J'espère que tu as dut temps devant toi parce qu'il en faut beaucoup pour générer toutes les combinaisons et les affichers. Si tu ne les affiches pas ça va assez vite (1 minutes environ), par contre si tu les affiches tu es partit pour plusieurs heures.

Répondre à scriptiz

2

scriptiz, le 2 mai 2009 à 19:33:05

A titre informatif du temps qu'il faut pour générer tout les nombres chez moi :


Génération sans affichage : moins d'une minute
Génération avec affichage : Entre 411,6 heures et 470,4 heures soit entre 17 et 18 jours complets :P

Répondre à scriptiz

3

cobesta1, le 2 mai 2009 à 21:01:58

Merci pour ta réponse,mais je suis un peu étonné du nombre de combinaisons
Au lotto belge,il parle de +- 5.600.000 combinaisons
Au lotto francais il y en a +- 13.900.000 et a l'euromillion, il parle de +- 76.000.000 alors je suis un peu perdu !
merci pour ta réponse
cobesta

Répondre à cobesta1

4

scriptiz, le 2 mai 2009 à 21:13:33

Je suis belge mais je ne joue jamais au lotto, d'après ce que j'ai vu, il faut choisir 6 chiffres aléatoirement entre 1 et 42 non?

Si c'est le cas, la totalité des possibilités peut être calculée comme suit :
42^6 ==> 42 * 42 * 42 * 42 * 42 * 42 ==> 5 489 031 744

Bon bref il y en a beaucoup, c'est bizarre car avec le programme Java j'avais un autre nombre... ^^

Enfin voilà ici 42^6 ça me semble logique donc ça doit être ça :)

Répondre à scriptiz

5

cobesta1, le 3 mai 2009 à 00:11:57

Merci pour ta réponse,mais je suis un peu étonné du nombre de combinaisons
Au lotto belge,il parle de +- 5.600.000 combinaisons
Au lotto francais il y en a +- 13.900.000 et a l'euromillion il parle de +- 76.000.000 alors je suis un peu perdu !
merci pour ta réponse
cobesta


Merci pour ta réponse,mais de passé de à un peut plus d'un milliard à 5 milliard de grilles,il y a un gros problème,je te met un lien et là je crois que la solution y est 42x41x40x39x38x37 divisé par 1x2x3x4x5x6 =
5.245.786 grilles possible.
www.ulb.ac.be:8070/cedop/tools/stat.php?file=Lottoweb.pdf&titre=Huit+questions+à+propos+du+Lotto

Merci pour ta réponse
cobesta

Répondre à cobesta1

6

scriptiz, le 3 mai 2009 à 00:42:58

Ah donc tu ne peux pas mettre deux fois le même nombre :P

Voici donc le code corriger et qui donne en effet un peu plus de 5 millions de combinaisons :

public class Lotto
{
    public static void main(String[] args)
    {
        int count = 0;
        for(int i = 1; i <= 42; i++)
        {
            for(int j = i+1; j <= 42; j++)
            {
					 for(int k = j+1; k <= 42; k++)
                {
                    for(int l = k+1; l <= 42; l++)
                    {
                        for(int m = l+1; m <= 42; m++)
                        {
                            for(int n = m+1; n <= 42; n++)
                            {
                                System.out.println(i+"-"+j+"-"+k+"-"+l+"-"+m+"-"+n);
										  count++;
                            }
                        }
                    }
                }
            }
        }
        System.out.println(count);
    }
}

Répondre à scriptiz

7

cobesta, le 6 mai 2009 à 23:52:49

Bonjour scriptiz
Peut-tu m'expliquer la façon de procéder pour générer les combinaisons du lotto avec la formule que tu m'a donné car moi je suis nul et je ne sais pas comment faire ?
Merci d'avance
cobesta

Répondre à cobesta

8

 scriptiz, le 7 mai 2009 à 02:10:34

Ce sont plusieurs boucles imbriquées.

Ainsi, on génère chaque nombre du lotto.

Au premier passage dans la première boucle on va générer tout les autres possibles pour celui là.

Ainsi de suite.

Je te conseille vivement de te documenter sur internet, ce sont les bases de tout langages de programmations (variables et boucles for) qui sont abordées ici.

Répondre à scriptiz