A Le compte est bon sur une page

Soyez le premier à donner votre avis sur cette source.

Vue 2 403 fois - Téléchargée 291 fois

Description

Bonjour,

"Le Compte est bon" est la partie "chiffres" du jeu bien connu "Des chiffres et des lettres".

J'ai essayé d'écrire un premier jet de ce programme sans "guigner ailleurs".
Le code Javascript obtenu tient sur le seul fichier "UnePage.html" de moins de 3 Ko.

Cette version provisoire calcule et affiche quasiment toutes les solutions possibles, y compris beaucoup de "doublons", mais uniquement lorsqu'il existe au moins une solution exacte.
 
 

Définition


Le but du jeu est d'obtenir (en 45 secondes) un nombre de 100 à 999, à partir d'opérations élémentaires (+, ?, ×, ÷) sur des entiers naturels strictement positifs, en partant de 6 nombre tirés (plaques).
À défaut de trouver le compte exact, il faut tenter de s'en approcher le plus près possible.
Le jeu comporte vingt-quatre plaques: les nombres de 1 à 10 présents en double exemplaire et les nombres 25, 50, 75 et 100 présents en un seul exemplaire.
Voir: Wikipedia
 
 

Tirage sans remise


La boucle de la fonction Tir() évite de tirer plusieurs fois une même plaque (d'index i):
var tir=[],pla=[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,25,50,75,100];

for (var n=0,sel=0; n<nTir; ++n) {
  do i=RandInt(plq.length); while (sel&(1<<i)); // plq.length <= 32
  sel|=(1<<i);
  tir[n]=plq[i];
}

Ce code limite le nombre de plaques à 32, car Javascript ne permet des opération binaires que sur des "mots" de 32 bits.
 
 

Algorithme


Il est basé sur la notion d'appels récursifs:
la fonction Cal(nbr,txt) s'appelle elle-même.
- L'array nbr donne les nombres encore disponibles, il se raccourcit à chaque appel.
- Le texte txt représente la solution provisoire, il s'allonge à chaque appel.
L'appel à la fonction s'arrête lorsque nbr a moins de 2 éléments.

La boucle principale (sur i) parcoure tous les nombres a = nbr[i] pour créer un autre array nb[] qui comporte les mêmes éléments que nbr, sauf a.
La boucle intérieure (sur j) explore l'ensemble des opérations d'addition, de soustraction, de multiplication et de division en utilisant a et b = nb[j].

A chaque appel récursif, l'ensemble des nombres disponibles est donc diminué de a, et le nombre b est remplacé par le résultat r de l'opération.
Mais au "retour", il faut restaurer b.

Restrictions:
- La soustraction n'est possible que si le résultat est strictement positif.
- La division (entière) n'est possible que s'il elle se fait sans reste.

De plus, évitons de multiplier ou diviser par 1:
function Cal(nbr,txt) {
  var n=nbr.length-2,r;
  for (var i=0,a=nbr[i]; i<nbr.length; a=nbr[++i]) {
    var nb=nbr.slice(0);
    nb.splice(i,1); // nbr sans l'élément a d'index i
    for (var j=0,b=nb[j]; j<=n; b=nb[++j]) {
      if ((r=b+a)==res) str+=txt+b+"+"+a+"="+r;
      else if (n>0) {nb[j]=r; Cal(nb,txt+b+"+"+a+"="+r+", "); nb[j]=b;}
      if (b>a) { // b-a > 0
        if ((r=b-a)==res) str+=txt+b+"-"+a+"="+r;
        else if (n>0) {nb[j]=r; Cal(nb,txt+b+"-"+a+"="+r+", "); nb[j]=b;}
      }
      if ((a>1)&&(b>1)) { // élimine la multiplication par 1
        if ((r=b*a)==res) str+=txt+b+"×"+a+"="+r;
        else if (n>0) {nb[j]=r; Cal(nb,txt+b+"×"+a+"="+r+", "); nb[j]=b;}
      }
      if ((a>1)&&(b%a==0)) { // élimine la division par 1, division entière
        if ((r=b/a)==res) str+=txt+b+"÷"+a+"="+r;
        else if (n>0) {nb[j]=r; Cal(nb,txt+b+"÷"+a+"="+r+", "); nb[j]=b;}
      }
    }
  }
}

 
 

Exemple de calcul


24 plaques: [1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,25,50,75,100] 
6 tirages: [1,10,50,100,1,5] 940
 50+1=51, 100-1=99, 99-5=94, 94×10=940
 50+1=51, 100-1=99, 99-5=94, 10×94=940
 50+1=51, 5+1=6, 100-6=94, 94×10=940
 50+1=51, 5+1=6, 100-6=94, 10×94=940
 50+1=51, 100-5=95, 95-1=94, 94×10=940
 50+1=51, 100-5=95, 95-1=94, 10×94=940
 50+1=51, 1+5=6, 100-6=94, 94×10=940
 50+1=51, 1+5=6, 100-6=94, 10×94=940
 50-1=49, 100-1=99, 99-5=94, 94×10=940
 50-1=49, 100-1=99, 99-5=94, 10×94=940
 50-1=49, 5+1=6, 100-6=94, 94×10=940
 50-1=49, 5+1=6, 100-6=94, 10×94=940
 50-1=49, 100-5=95, 95-1=94, 94×10=940
 50-1=49, 100-5=95, 95-1=94, 10×94=940
 50-1=49, 1+5=6, 100-6=94, 94×10=940
 50-1=49, 1+5=6, 100-6=94, 10×94=940
 100-1=99, 99×10=990, 990-50=940
 100-1=99, 99×10=990, 5+1=6, 990-50=940
 100-1=99, 99×10=990, 5-1=4, 990-50=940
 100-1=99, 99×10=990, 1+5=6, 990-50=940
 100-1=99, 1+50=51, 99-5=94, 94×10=940
 100-1=99, 1+50=51, 99-5=94, 10×94=940
 100-1=99, 10×99=990, 990-50=940
 100-1=99, 10×99=990, 5+1=6, 990-50=940
 100-1=99, 10×99=990, 5-1=4, 990-50=940
 100-1=99, 10×99=990, 1+5=6, 990-50=940
 100-1=99, 50+1=51, 99-5=94, 94×10=940
 100-1=99, 50+1=51, 99-5=94, 10×94=940
 100-1=99, 50-1=49, 99-5=94, 94×10=940
 100-1=99, 50-1=49, 99-5=94, 10×94=940
 100-1=99, 5+1=6, 99×10=990, 990-50=940
 100-1=99, 5+1=6, 10×99=990, 990-50=940
 100-1=99, 5-1=4, 99×10=990, 990-50=940
 100-1=99, 5-1=4, 10×99=990, 990-50=940
 100-1=99, 99-5=94, 94×10=940
 100-1=99, 99-5=94, 1+50=51, 94×10=940
 100-1=99, 99-5=94, 1+50=51, 10×94=940
 100-1=99, 99-5=94, 10×94=940
 100-1=99, 99-5=94, 50+1=51, 94×10=940
 100-1=99, 99-5=94, 50+1=51, 10×94=940
 100-1=99, 99-5=94, 50-1=49, 94×10=940
 100-1=99, 99-5=94, 50-1=49, 10×94=940
 100-1=99, 1+5=6, 99×10=990, 990-50=940
 100-1=99, 1+5=6, 10×99=990, 990-50=940
 1+1=2, 50+10=60, 2×100=200, 5×200=1000, 1000-60=940
 1+1=2, 50+10=60, 2×100=200, 200×5=1000, 1000-60=940
 1+1=2, 50+10=60, 5×100=500, 500×2=1000, 1000-60=940
 1+1=2, 50+10=60, 5×100=500, 2×500=1000, 1000-60=940
 1+1=2, 50+10=60, 100×2=200, 5×200=1000, 1000-60=940
 1+1=2, 50+10=60, 100×2=200, 200×5=1000, 1000-60=940
 1+1=2, 50+10=60, 5×2=10, 10×100=1000, 1000-60=940
 1+1=2, 50+10=60, 5×2=10, 100×10=1000, 1000-60=940
 1+1=2, 50+10=60, 100×5=500, 2×500=1000, 1000-60=940
 1+1=2, 50+10=60, 100×5=500, 500×2=1000, 1000-60=940
 1+1=2, 50+10=60, 2×5=10, 10×100=1000, 1000-60=940
 1+1=2, 50+10=60, 2×5=10, 100×10=1000, 1000-60=940
 1+1=2, 100×10=1000, 1000-50=950, 5×2=10, 950-10=940
 1+1=2, 100×10=1000, 1000-50=950, 2×5=10, 950-10=940
 1+1=2, 100×10=1000, 5×2=10, 1000-50=950, 950-10=940
 1+1=2, 100×10=1000, 5×2=10, 10+50=60, 1000-60=940
 1+1=2, 100×10=1000, 5×2=10, 50+10=60, 1000-60=940
 1+1=2, 100×10=1000, 5×2=10, 1000-10=990, 990-50=940
 1+1=2, 100×10=1000, 2×5=10, 1000-50=950, 950-10=940
 1+1=2, 100×10=1000, 2×5=10, 10+50=60, 1000-60=940
 1+1=2, 100×10=1000, 2×5=10, 50+10=60, 1000-60=940
 1+1=2, 100×10=1000, 2×5=10, 1000-10=990, 990-50=940
 1+1=2, 10+50=60, 2×100=200, 5×200=1000, 1000-60=940
 1+1=2, 10+50=60, 2×100=200, 200×5=1000, 1000-60=940
 1+1=2, 10+50=60, 5×100=500, 500×2=1000, 1000-60=940
 1+1=2, 10+50=60, 5×100=500, 2×500=1000, 1000-60=940
 1+1=2, 10+50=60, 100×2=200, 5×200=1000, 1000-60=940
 1+1=2, 10+50=60, 100×2=200, 200×5=1000, 1000-60=940
 1+1=2, 10+50=60, 5×2=10, 10×100=1000, 1000-60=940
 1+1=2, 10+50=60, 5×2=10, 100×10=1000, 1000-60=940
 1+1=2, 10+50=60, 100×5=500, 2×500=1000, 1000-60=940
 1+1=2, 10+50=60, 100×5=500, 500×2=1000, 1000-60=940
 1+1=2, 10+50=60, 2×5=10, 10×100=1000, 1000-60=940
 1+1=2, 10+50=60, 2×5=10, 100×10=1000, 1000-60=940
 1+1=2, 10×100=1000, 1000-50=950, 5×2=10, 950-10=940
 1+1=2, 10×100=1000, 1000-50=950, 2×5=10, 950-10=940
 1+1=2, 10×100=1000, 5×2=10, 1000-50=950, 950-10=940
 1+1=2, 10×100=1000, 5×2=10, 10+50=60, 1000-60=940
 1+1=2, 10×100=1000, 5×2=10, 1000-10=990, 990-50=940
 1+1=2, 10×100=1000, 5×2=10, 50+10=60, 1000-60=940
 1+1=2, 10×100=1000, 2×5=10, 1000-50=950, 950-10=940
 1+1=2, 10×100=1000, 2×5=10, 10+50=60, 1000-60=940
 1+1=2, 10×100=1000, 2×5=10, 1000-10=990, 990-50=940
 1+1=2, 10×100=1000, 2×5=10, 50+10=60, 1000-60=940
 1+1=2, 2×100=200, 50+10=60, 5×200=1000, 1000-60=940
 1+1=2, 2×100=200, 50+10=60, 200×5=1000, 1000-60=940
 1+1=2, 2×100=200, 10+50=60, 5×200=1000, 1000-60=940
 1+1=2, 2×100=200, 10+50=60, 200×5=1000, 1000-60=940
 1+1=2, 2×100=200, 5×200=1000, 50+10=60, 1000-60=940
 1+1=2, 2×100=200, 5×200=1000, 1000-10=990, 990-50=940
 1+1=2, 2×100=200, 5×200=1000, 10+50=60, 1000-60=940
 1+1=2, 2×100=200, 5×200=1000, 1000-50=950, 950-10=940
 1+1=2, 2×100=200, 200×5=1000, 50+10=60, 1000-60=940
 1+1=2, 2×100=200, 200×5=1000, 1000-10=990, 990-50=940
 1+1=2, 2×100=200, 200×5=1000, 10+50=60, 1000-60=940
 1+1=2, 2×100=200, 200×5=1000, 1000-50=950, 950-10=940
 1+1=2, 5×100=500, 50+10=60, 500×2=1000, 1000-60=940
 1+1=2, 5×100=500, 50+10=60, 2×500=1000, 1000-60=940
 1+1=2, 5×100=500, 10+50=60, 500×2=1000, 1000-60=940
 1+1=2, 5×100=500, 10+50=60, 2×500=1000, 1000-60=940
 1+1=2, 5×100=500, 500×2=1000, 50+10=60, 1000-60=940
 1+1=2, 5×100=500, 500×2=1000, 1000-10=990, 990-50=940
 1+1=2, 5×100=500, 500×2=1000, 10+50=60, 1000-60=940
 1+1=2, 5×100=500, 500×2=1000, 1000-50=950, 950-10=940
 1+1=2, 5×100=500, 2×500=1000, 50+10=60, 1000-60=940
 1+1=2, 5×100=500, 2×500=1000, 1000-10=990, 990-50=940
 1+1=2, 5×100=500, 2×500=1000, 10+50=60, 1000-60=940
 1+1=2, 5×100=500, 2×500=1000, 1000-50=950, 950-10=940
 1+1=2, 100×2=200, 50+10=60, 5×200=1000, 1000-60=940
 1+1=2, 100×2=200, 50+10=60, 200×5=1000, 1000-60=940
 1+1=2, 100×2=200, 10+50=60, 5×200=1000, 1000-60=940
 1+1=2, 100×2=200, 10+50=60, 200×5=1000, 1000-60=940
 1+1=2, 100×2=200, 5×200=1000, 50+10=60, 1000-60=940
 1+1=2, 100×2=200, 5×200=1000, 1000-10=990, 990-50=940
 1+1=2, 100×2=200, 5×200=1000, 10+50=60, 1000-60=940
 1+1=2, 100×2=200, 5×200=1000, 1000-50=950, 950-10=940
 1+1=2, 100×2=200, 200×5=1000, 50+10=60, 1000-60=940
 1+1=2, 100×2=200, 200×5=1000, 1000-10=990, 990-50=940
 1+1=2, 100×2=200, 200×5=1000, 10+50=60, 1000-60=940
 1+1=2, 100×2=200, 200×5=1000, 1000-50=950, 950-10=940
 1+1=2, 5×2=10, 50+10=60, 10×100=1000, 1000-60=940
 1+1=2, 5×2=10, 50+10=60, 100×10=1000, 1000-60=940
 1+1=2, 5×2=10, 100×10=1000, 1000-50=950, 950-10=940
 1+1=2, 5×2=10, 100×10=1000, 10+50=60, 1000-60=940
 1+1=2, 5×2=10, 100×10=1000, 50+10=60, 1000-60=940
 1+1=2, 5×2=10, 100×10=1000, 1000-10=990, 990-50=940
 1+1=2, 5×2=10, 10+50=60, 10×100=1000, 1000-60=940
 1+1=2, 5×2=10, 10+50=60, 100×10=1000, 1000-60=940
 1+1=2, 5×2=10, 10+50=60, 100×10=1000, 1000-60=940
 1+1=2, 5×2=10, 10+50=60, 10×100=1000, 1000-60=940
 1+1=2, 5×2=10, 10×100=1000, 1000-50=950, 950-10=940
 1+1=2, 5×2=10, 10×100=1000, 10+50=60, 1000-60=940
 1+1=2, 5×2=10, 10×100=1000, 1000-10=990, 990-50=940
 1+1=2, 5×2=10, 10×100=1000, 50+10=60, 1000-60=940
 1+1=2, 5×2=10, 10×100=1000, 50+10=60, 1000-60=940
 1+1=2, 5×2=10, 10×100=1000, 1000-10=990, 990-50=940
 1+1=2, 5×2=10, 10×100=1000, 10+50=60, 1000-60=940
 1+1=2, 5×2=10, 10×100=1000, 1000-50=950, 950-10=940
 1+1=2, 5×2=10, 50+10=60, 100×10=1000, 1000-60=940
 1+1=2, 5×2=10, 50+10=60, 10×100=1000, 1000-60=940
 1+1=2, 5×2=10, 100×10=1000, 50+10=60, 1000-60=940
 1+1=2, 5×2=10, 100×10=1000, 1000-10=990, 990-50=940
 1+1=2, 5×2=10, 100×10=1000, 10+50=60, 1000-60=940
 1+1=2, 5×2=10, 100×10=1000, 1000-50=950, 950-10=940
 1+1=2, 100×5=500, 50+10=60, 2×500=1000, 1000-60=940
 1+1=2, 100×5=500, 50+10=60, 500×2=1000, 1000-60=940
 1+1=2, 100×5=500, 10+50=60, 2×500=1000, 1000-60=940
 1+1=2, 100×5=500, 10+50=60, 500×2=1000, 1000-60=940
 1+1=2, 100×5=500, 2×500=1000, 50+10=60, 1000-60=940
 1+1=2, 100×5=500, 2×500=1000, 1000-10=990, 990-50=940
 1+1=2, 100×5=500, 2×500=1000, 10+50=60, 1000-60=940
 1+1=2, 100×5=500, 2×500=1000, 1000-50=950, 950-10=940
 1+1=2, 100×5=500, 500×2=1000, 50+10=60, 1000-60=940
 1+1=2, 100×5=500, 500×2=1000, 1000-10=990, 990-50=940
 1+1=2, 100×5=500, 500×2=1000, 10+50=60, 1000-60=940
 1+1=2, 100×5=500, 500×2=1000, 1000-50=950, 950-10=940
 1+1=2, 2×5=10, 50+10=60, 10×100=1000, 1000-60=940
 1+1=2, 2×5=10, 50+10=60, 100×10=1000, 1000-60=940
 1+1=2, 2×5=10, 100×10=1000, 1000-50=950, 950-10=940
 1+1=2, 2×5=10, 100×10=1000, 10+50=60, 1000-60=940
 1+1=2, 2×5=10, 100×10=1000, 50+10=60, 1000-60=940
 1+1=2, 2×5=10, 100×10=1000, 1000-10=990, 990-50=940
 1+1=2, 2×5=10, 10+50=60, 10×100=1000, 1000-60=940
 1+1=2, 2×5=10, 10+50=60, 100×10=1000, 1000-60=940
 1+1=2, 2×5=10, 10+50=60, 100×10=1000, 1000-60=940
 1+1=2, 2×5=10, 10+50=60, 10×100=1000, 1000-60=940
 1+1=2, 2×5=10, 10×100=1000, 1000-50=950, 950-10=940
 1+1=2, 2×5=10, 10×100=1000, 10+50=60, 1000-60=940
 1+1=2, 2×5=10, 10×100=1000, 1000-10=990, 990-50=940
 1+1=2, 2×5=10, 10×100=1000, 50+10=60, 1000-60=940
 1+1=2, 2×5=10, 10×100=1000, 50+10=60, 1000-60=940
 1+1=2, 2×5=10, 10×100=1000, 1000-10=990, 990-50=940
 1+1=2, 2×5=10, 10×100=1000, 10+50=60, 1000-60=940
 1+1=2, 2×5=10, 10×100=1000, 1000-50=950, 950-10=940
 1+1=2, 2×5=10, 50+10=60, 100×10=1000, 1000-60=940
 1+1=2, 2×5=10, 50+10=60, 10×100=1000, 1000-60=940
 1+1=2, 2×5=10, 100×10=1000, 50+10=60, 1000-60=940
 1+1=2, 2×5=10, 100×10=1000, 1000-10=990, 990-50=940
 1+1=2, 2×5=10, 100×10=1000, 10+50=60, 1000-60=940
 1+1=2, 2×5=10, 100×10=1000, 1000-50=950, 950-10=940
 5+1=6, 1+50=51, 100-6=94, 94×10=940
 5+1=6, 1+50=51, 100-6=94, 10×94=940
 5+1=6, 50+1=51, 100-6=94, 94×10=940
 5+1=6, 50+1=51, 100-6=94, 10×94=940
 5+1=6, 50-1=49, 100-6=94, 94×10=940
 5+1=6, 50-1=49, 100-6=94, 10×94=940
 5+1=6, 100-1=99, 99×10=990, 990-50=940
 5+1=6, 100-1=99, 10×99=990, 990-50=940
 5+1=6, 100-6=94, 94×10=940
 5+1=6, 100-6=94, 1+50=51, 94×10=940
 5+1=6, 100-6=94, 1+50=51, 10×94=940
 5+1=6, 100-6=94, 10×94=940
 5+1=6, 100-6=94, 50+1=51, 94×10=940
 5+1=6, 100-6=94, 50+1=51, 10×94=940
 5+1=6, 100-6=94, 50-1=49, 94×10=940
 5+1=6, 100-6=94, 50-1=49, 10×94=940
 5-1=4, 100-1=99, 99×10=990, 990-50=940
 5-1=4, 100-1=99, 10×99=990, 990-50=940
 50+10=60, 1+1=2, 2×100=200, 5×200=1000, 1000-60=940
 50+10=60, 1+1=2, 2×100=200, 200×5=1000, 1000-60=940
 50+10=60, 1+1=2, 5×100=500, 500×2=1000, 1000-60=940
 50+10=60, 1+1=2, 5×100=500, 2×500=1000, 1000-60=940
 50+10=60, 1+1=2, 100×2=200, 5×200=1000, 1000-60=940
 50+10=60, 1+1=2, 100×2=200, 200×5=1000, 1000-60=940
 50+10=60, 1+1=2, 5×2=10, 10×100=1000, 1000-60=940
 50+10=60, 1+1=2, 5×2=10, 100×10=1000, 1000-60=940
 50+10=60, 1+1=2, 100×5=500, 2×500=1000, 1000-60=940
 50+10=60, 1+1=2, 100×5=500, 500×2=1000, 1000-60=940
 50+10=60, 1+1=2, 2×5=10, 10×100=1000, 1000-60=940
 50+10=60, 1+1=2, 2×5=10, 100×10=1000, 1000-60=940
 50+10=60, 5×100=500, 1+1=2, 500×2=1000, 1000-60=940
 50+10=60, 5×100=500, 1+1=2, 2×500=1000, 1000-60=940
 50+10=60, 5×100=500, 1+1=2, 500×2=1000, 1000-60=940
 50+10=60, 5×100=500, 1+1=2, 2×500=1000, 1000-60=940
 50+10=60, 1+1=2, 100×2=200, 5×200=1000, 1000-60=940
 50+10=60, 1+1=2, 100×2=200, 200×5=1000, 1000-60=940
 50+10=60, 1+1=2, 5×2=10, 10×100=1000, 1000-60=940
 50+10=60, 1+1=2, 5×2=10, 100×10=1000, 1000-60=940
 50+10=60, 1+1=2, 2×100=200, 5×200=1000, 1000-60=940
 50+10=60, 1+1=2, 2×100=200, 200×5=1000, 1000-60=940
 50+10=60, 1+1=2, 5×100=500, 500×2=1000, 1000-60=940
 50+10=60, 1+1=2, 5×100=500, 2×500=1000, 1000-60=940
 50+10=60, 1+1=2, 2×5=10, 100×10=1000, 1000-60=940
 50+10=60, 1+1=2, 2×5=10, 10×100=1000, 1000-60=940
 50+10=60, 1+1=2, 100×5=500, 500×2=1000, 1000-60=940
 50+10=60, 1+1=2, 100×5=500, 2×500=1000, 1000-60=940
 50+10=60, 100×5=500, 1+1=2, 2×500=1000, 1000-60=940
 50+10=60, 100×5=500, 1+1=2, 500×2=1000, 1000-60=940
 50+10=60, 100×5=500, 1+1=2, 500×2=1000, 1000-60=940
 50+10=60, 100×5=500, 1+1=2, 2×500=1000, 1000-60=940
 100×10=1000, 1+1=2, 1000-50=950, 5×2=10, 950-10=940
 100×10=1000, 1+1=2, 1000-50=950, 2×5=10, 950-10=940
 100×10=1000, 1+1=2, 5×2=10, 1000-50=950, 950-10=940
 100×10=1000, 1+1=2, 5×2=10, 10+50=60, 1000-60=940
 100×10=1000, 1+1=2, 5×2=10, 50+10=60, 1000-60=940
 100×10=1000, 1+1=2, 5×2=10, 1000-10=990, 990-50=940
 100×10=1000, 1+1=2, 2×5=10, 1000-50=950, 950-10=940
 100×10=1000, 1+1=2, 2×5=10, 10+50=60, 1000-60=940
 100×10=1000, 1+1=2, 2×5=10, 50+10=60, 1000-60=940
 100×10=1000, 1+1=2, 2×5=10, 1000-10=990, 990-50=940
 100×10=1000, 1000-50=950, 1+1=2, 5×2=10, 950-10=940
 100×10=1000, 1000-50=950, 1+1=2, 2×5=10, 950-10=940
 100×10=1000, 1000-50=950, 1+1=2, 5×2=10, 950-10=940
 100×10=1000, 1000-50=950, 1+1=2, 2×5=10, 950-10=940
 100×10=1000, 1+1=2, 5×2=10, 1000-50=950, 950-10=940
 100×10=1000, 1+1=2, 5×2=10, 10+50=60, 1000-60=940
 100×10=1000, 1+1=2, 5×2=10, 50+10=60, 1000-60=940
 100×10=1000, 1+1=2, 5×2=10, 1000-10=990, 990-50=940
 100×10=1000, 1+1=2, 1000-50=950, 5×2=10, 950-10=940
 100×10=1000, 1+1=2, 1000-50=950, 2×5=10, 950-10=940
 100×10=1000, 1+1=2, 2×5=10, 50+10=60, 1000-60=940
 100×10=1000, 1+1=2, 2×5=10, 1000-10=990, 990-50=940
 100×10=1000, 1+1=2, 2×5=10, 10+50=60, 1000-60=940
 100×10=1000, 1+1=2, 2×5=10, 1000-50=950, 950-10=940
 1+50=51, 100-1=99, 99-5=94, 94×10=940
 1+50=51, 100-1=99, 99-5=94, 10×94=940
 1+50=51, 5+1=6, 100-6=94, 94×10=940
 1+50=51, 5+1=6, 100-6=94, 10×94=940
 1+50=51, 100-5=95, 95-1=94, 94×10=940
 1+50=51, 100-5=95, 95-1=94, 10×94=940
 1+50=51, 1+5=6, 100-6=94, 94×10=940
 1+50=51, 1+5=6, 100-6=94, 10×94=940
 10+50=60, 1+1=2, 2×100=200, 5×200=1000, 1000-60=940
 10+50=60, 1+1=2, 2×100=200, 200×5=1000, 1000-60=940
 10+50=60, 1+1=2, 5×100=500, 500×2=1000, 1000-60=940
 10+50=60, 1+1=2, 5×100=500, 2×500=1000, 1000-60=940
 10+50=60, 1+1=2, 100×2=200, 5×200=1000, 1000-60=940
 10+50=60, 1+1=2, 100×2=200, 200×5=1000, 1000-60=940
 10+50=60, 1+1=2, 5×2=10, 10×100=1000, 1000-60=940
 10+50=60, 1+1=2, 5×2=10, 100×10=1000, 1000-60=940
 10+50=60, 1+1=2, 100×5=500, 2×500=1000, 1000-60=940
 10+50=60, 1+1=2, 100×5=500, 500×2=1000, 1000-60=940
 10+50=60, 1+1=2, 2×5=10, 10×100=1000, 1000-60=940
 10+50=60, 1+1=2, 2×5=10, 100×10=1000, 1000-60=940
 10+50=60, 5×100=500, 1+1=2, 500×2=1000, 1000-60=940
 10+50=60, 5×100=500, 1+1=2, 2×500=1000, 1000-60=940
 10+50=60, 5×100=500, 1+1=2, 500×2=1000, 1000-60=940
 10+50=60, 5×100=500, 1+1=2, 2×500=1000, 1000-60=940
 10+50=60, 1+1=2, 100×2=200, 5×200=1000, 1000-60=940
 10+50=60, 1+1=2, 100×2=200, 200×5=1000, 1000-60=940
 10+50=60, 1+1=2, 5×2=10, 10×100=1000, 1000-60=940
 10+50=60, 1+1=2, 5×2=10, 100×10=1000, 1000-60=940
 10+50=60, 1+1=2, 2×100=200, 5×200=1000, 1000-60=940
 10+50=60, 1+1=2, 2×100=200, 200×5=1000, 1000-60=940
 10+50=60, 1+1=2, 5×100=500, 500×2=1000, 1000-60=940
 10+50=60, 1+1=2, 5×100=500, 2×500=1000, 1000-60=940
 10+50=60, 1+1=2, 2×5=10, 100×10=1000, 1000-60=940
 10+50=60, 1+1=2, 2×5=10, 10×100=1000, 1000-60=940
 10+50=60, 1+1=2, 100×5=500, 500×2=1000, 1000-60=940
 10+50=60, 1+1=2, 100×5=500, 2×500=1000, 1000-60=940
 10+50=60, 100×5=500, 1+1=2, 2×500=1000, 1000-60=940
 10+50=60, 100×5=500, 1+1=2, 500×2=1000, 1000-60=940
 10+50=60, 100×5=500, 1+1=2, 500×2=1000, 1000-60=940
 10+50=60, 100×5=500, 1+1=2, 2×500=1000, 1000-60=940
 1+50=51, 100-1=99, 99-5=94, 94×10=940
 1+50=51, 100-1=99, 99-5=94, 10×94=940
 1+50=51, 5+1=6, 100-6=94, 94×10=940
 1+50=51, 5+1=6, 100-6=94, 10×94=940
 1+50=51, 1+5=6, 100-6=94, 94×10=940
 1+50=51, 1+5=6, 100-6=94, 10×94=940
 1+50=51, 100-5=95, 95-1=94, 94×10=940
 1+50=51, 100-5=95, 95-1=94, 10×94=940
 10×100=1000, 1+1=2, 1000-50=950, 5×2=10, 950-10=940
 10×100=1000, 1+1=2, 1000-50=950, 2×5=10, 950-10=940
 10×100=1000, 1+1=2, 5×2=10, 1000-50=950, 950-10=940
 10×100=1000, 1+1=2, 5×2=10, 10+50=60, 1000-60=940
 10×100=1000, 1+1=2, 5×2=10, 1000-10=990, 990-50=940
 10×100=1000, 1+1=2, 5×2=10, 50+10=60, 1000-60=940
 10×100=1000, 1+1=2, 2×5=10, 1000-50=950, 950-10=940
 10×100=1000, 1+1=2, 2×5=10, 10+50=60, 1000-60=940
 10×100=1000, 1+1=2, 2×5=10, 1000-10=990, 990-50=940
 10×100=1000, 1+1=2, 2×5=10, 50+10=60, 1000-60=940
 10×100=1000, 1000-50=950, 1+1=2, 5×2=10, 950-10=940
 10×100=1000, 1000-50=950, 1+1=2, 2×5=10, 950-10=940
 10×100=1000, 1000-50=950, 1+1=2, 5×2=10, 950-10=940
 10×100=1000, 1000-50=950, 1+1=2, 2×5=10, 950-10=940
 10×100=1000, 1+1=2, 5×2=10, 1000-50=950, 950-10=940
 10×100=1000, 1+1=2, 5×2=10, 10+50=60, 1000-60=940
 10×100=1000, 1+1=2, 5×2=10, 1000-10=990, 990-50=940
 10×100=1000, 1+1=2, 5×2=10, 50+10=60, 1000-60=940
 10×100=1000, 1+1=2, 1000-50=950, 5×2=10, 950-10=940
 10×100=1000, 1+1=2, 1000-50=950, 2×5=10, 950-10=940
 10×100=1000, 1+1=2, 2×5=10, 1000-10=990, 990-50=940
 10×100=1000, 1+1=2, 2×5=10, 50+10=60, 1000-60=940
 10×100=1000, 1+1=2, 2×5=10, 10+50=60, 1000-60=940
 10×100=1000, 1+1=2, 2×5=10, 1000-50=950, 950-10=940
 5×100=500, 1+1=2, 50+10=60, 500×2=1000, 1000-60=940
 5×100=500, 1+1=2, 50+10=60, 2×500=1000, 1000-60=940
 5×100=500, 1+1=2, 10+50=60, 500×2=1000, 1000-60=940
 5×100=500, 1+1=2, 10+50=60, 2×500=1000, 1000-60=940
 5×100=500, 1+1=2, 500×2=1000, 50+10=60, 1000-60=940
 5×100=500, 1+1=2, 500×2=1000, 1000-10=990, 990-50=940
 5×100=500, 1+1=2, 500×2=1000, 10+50=60, 1000-60=940
 5×100=500, 1+1=2, 500×2=1000, 1000-50=950, 950-10=940
 5×100=500, 1+1=2, 2×500=1000, 50+10=60, 1000-60=940
 5×100=500, 1+1=2, 2×500=1000, 1000-10=990, 990-50=940
 5×100=500, 1+1=2, 2×500=1000, 10+50=60, 1000-60=940
 5×100=500, 1+1=2, 2×500=1000, 1000-50=950, 950-10=940
 5×100=500, 50+10=60, 1+1=2, 500×2=1000, 1000-60=940
 5×100=500, 50+10=60, 1+1=2, 2×500=1000, 1000-60=940
 5×100=500, 50+10=60, 1+1=2, 500×2=1000, 1000-60=940
 5×100=500, 50+10=60, 1+1=2, 2×500=1000, 1000-60=940
 5×100=500, 10+50=60, 1+1=2, 500×2=1000, 1000-60=940
 5×100=500, 10+50=60, 1+1=2, 2×500=1000, 1000-60=940
 5×100=500, 10+50=60, 1+1=2, 500×2=1000, 1000-60=940
 5×100=500, 10+50=60, 1+1=2, 2×500=1000, 1000-60=940
 5×100=500, 1+1=2, 500×2=1000, 50+10=60, 1000-60=940
 5×100=500, 1+1=2, 500×2=1000, 1000-10=990, 990-50=940
 5×100=500, 1+1=2, 500×2=1000, 10+50=60, 1000-60=940
 5×100=500, 1+1=2, 500×2=1000, 1000-50=950, 950-10=940
 5×100=500, 1+1=2, 50+10=60, 500×2=1000, 1000-60=940
 5×100=500, 1+1=2, 50+10=60, 2×500=1000, 1000-60=940
 5×100=500, 1+1=2, 10+50=60, 500×2=1000, 1000-60=940
 5×100=500, 1+1=2, 10+50=60, 2×500=1000, 1000-60=940
 5×100=500, 1+1=2, 2×500=1000, 1000-10=990, 990-50=940
 5×100=500, 1+1=2, 2×500=1000, 50+10=60, 1000-60=940
 5×100=500, 1+1=2, 2×500=1000, 1000-50=950, 950-10=940
 5×100=500, 1+1=2, 2×500=1000, 10+50=60, 1000-60=940
 1+1=2, 100×2=200, 50+10=60, 5×200=1000, 1000-60=940
 1+1=2, 100×2=200, 50+10=60, 200×5=1000, 1000-60=940
 1+1=2, 100×2=200, 10+50=60, 5×200=1000, 1000-60=940
 1+1=2, 100×2=200, 10+50=60, 200×5=1000, 1000-60=940
 1+1=2, 100×2=200, 5×200=1000, 50+10=60, 1000-60=940
 1+1=2, 100×2=200, 5×200=1000, 1000-10=990, 990-50=940
 1+1=2, 100×2=200, 5×200=1000, 10+50=60, 1000-60=940
 1+1=2, 100×2=200, 5×200=1000, 1000-50=950, 950-10=940
 1+1=2, 100×2=200, 200×5=1000, 50+10=60, 1000-60=940
 1+1=2, 100×2=200, 200×5=1000, 1000-10=990, 990-50=940
 1+1=2, 100×2=200, 200×5=1000, 10+50=60, 1000-60=940
 1+1=2, 100×2=200, 200×5=1000, 1000-50=950, 950-10=940
 1+1=2, 5×2=10, 50+10=60, 10×100=1000, 1000-60=940
 1+1=2, 5×2=10, 50+10=60, 100×10=1000, 1000-60=940
 1+1=2, 5×2=10, 100×10=1000, 1000-50=950, 950-10=940
 1+1=2, 5×2=10, 100×10=1000, 10+50=60, 1000-60=940
 1+1=2, 5×2=10, 100×10=1000, 50+10=60, 1000-60=940
 1+1=2, 5×2=10, 100×10=1000, 1000-10=990, 990-50=940
 1+1=2, 5×2=10, 10+50=60, 10×100=1000, 1000-60=940
 1+1=2, 5×2=10, 10+50=60, 100×10=1000, 1000-60=940
 1+1=2, 5×2=10, 10+50=60, 100×10=1000, 1000-60=940
 1+1=2, 5×2=10, 10+50=60, 10×100=1000, 1000-60=940
 1+1=2, 5×2=10, 10×100=1000, 1000-50=950, 950-10=940
 1+1=2, 5×2=10, 10×100=1000, 10+50=60, 1000-60=940
 1+1=2, 5×2=10, 10×100=1000, 1000-10=990, 990-50=940
 1+1=2, 5×2=10, 10×100=1000, 50+10=60, 1000-60=940
 1+1=2, 5×2=10, 10×100=1000, 50+10=60, 1000-60=940
 1+1=2, 5×2=10, 10×100=1000, 1000-10=990, 990-50=940
 1+1=2, 5×2=10, 10×100=1000, 10+50=60, 1000-60=940
 1+1=2, 5×2=10, 10×100=1000, 1000-50=950, 950-10=940
 1+1=2, 5×2=10, 50+10=60, 100×10=1000, 1000-60=940
 1+1=2, 5×2=10, 50+10=60, 10×100=1000, 1000-60=940
 1+1=2, 5×2=10, 100×10=1000, 50+10=60, 1000-60=940
 1+1=2, 5×2=10, 100×10=1000, 1000-10=990, 990-50=940
 1+1=2, 5×2=10, 100×10=1000, 10+50=60, 1000-60=940
 1+1=2, 5×2=10, 100×10=1000, 1000-50=950, 950-10=940
 1+1=2, 50+10=60, 100×2=200, 5×200=1000, 1000-60=940
 1+1=2, 50+10=60, 100×2=200, 200×5=1000, 1000-60=940
 1+1=2, 50+10=60, 5×2=10, 10×100=1000, 1000-60=940
 1+1=2, 50+10=60, 5×2=10, 100×10=1000, 1000-60=940
 1+1=2, 50+10=60, 2×100=200, 5×200=1000, 1000-60=940
 1+1=2, 50+10=60, 2×100=200, 200×5=1000, 1000-60=940
 1+1=2, 50+10=60, 5×100=500, 500×2=1000, 1000-60=940
 1+1=2, 50+10=60, 5×100=500, 2×500=1000, 1000-60=940
 1+1=2, 50+10=60, 2×5=10, 100×10=1000, 1000-60=940
 1+1=2, 50+10=60, 2×5=10, 10×100=1000, 1000-60=940
 1+1=2, 50+10=60, 100×5=500, 500×2=1000, 1000-60=940
 1+1=2, 50+10=60, 100×5=500, 2×500=1000, 1000-60=940
 1+1=2, 100×10=1000, 5×2=10, 1000-50=950, 950-10=940
 1+1=2, 100×10=1000, 5×2=10, 10+50=60, 1000-60=940
 1+1=2, 100×10=1000, 5×2=10, 50+10=60, 1000-60=940
 1+1=2, 100×10=1000, 5×2=10, 1000-10=990, 990-50=940
 1+1=2, 100×10=1000, 1000-50=950, 5×2=10, 950-10=940
 1+1=2, 100×10=1000, 1000-50=950, 2×5=10, 950-10=940
 1+1=2, 100×10=1000, 2×5=10, 50+10=60, 1000-60=940
 1+1=2, 100×10=1000, 2×5=10, 1000-10=990, 990-50=940
 1+1=2, 100×10=1000, 2×5=10, 10+50=60, 1000-60=940
 1+1=2, 100×10=1000, 2×5=10, 1000-50=950, 950-10=940
 1+1=2, 10+50=60, 100×2=200, 5×200=1000, 1000-60=940
 1+1=2, 10+50=60, 100×2=200, 200×5=1000, 1000-60=940
 1+1=2, 10+50=60, 5×2=10, 10×100=1000, 1000-60=940
 1+1=2, 10+50=60, 5×2=10, 100×10=1000, 1000-60=940
 1+1=2, 10+50=60, 2×100=200, 5×200=1000, 1000-60=940
 1+1=2, 10+50=60, 2×100=200, 200×5=1000, 1000-60=940
 1+1=2, 10+50=60, 5×100=500, 500×2=1000, 1000-60=940
 1+1=2, 10+50=60, 5×100=500, 2×500=1000, 1000-60=940
 1+1=2, 10+50=60, 2×5=10, 100×10=1000, 1000-60=940
 1+1=2, 10+50=60, 2×5=10, 10×100=1000, 1000-60=940
 1+1=2, 10+50=60, 100×5=500, 500×2=1000, 1000-60=940
 1+1=2, 10+50=60, 100×5=500, 2×500=1000, 1000-60=940
 1+1=2, 2×100=200, 5×200=1000, 50+10=60, 1000-60=940
 1+1=2, 2×100=200, 5×200=1000, 1000-10=990, 990-50=940
 1+1=2, 2×100=200, 5×200=1000, 10+50=60, 1000-60=940
 1+1=2, 2×100=200, 5×200=1000, 1000-50=950, 950-10=940
 1+1=2, 2×100=200, 50+10=60, 5×200=1000, 1000-60=940
 1+1=2, 2×100=200, 50+10=60, 200×5=1000, 1000-60=940
 1+1=2, 2×100=200, 10+50=60, 5×200=1000, 1000-60=940
 1+1=2, 2×100=200, 10+50=60, 200×5=1000, 1000-60=940
 1+1=2, 2×100=200, 200×5=1000, 1000-10=990, 990-50=940
 1+1=2, 2×100=200, 200×5=1000, 50+10=60, 1000-60=940
 1+1=2, 2×100=200, 200×5=1000, 1000-50=950, 950-10=940
 1+1=2, 2×100=200, 200×5=1000, 10+50=60, 1000-60=940
 1+1=2, 10×100=1000, 5×2=10, 1000-50=950, 950-10=940
 1+1=2, 10×100=1000, 5×2=10, 10+50=60, 1000-60=940
 1+1=2, 10×100=1000, 5×2=10, 1000-10=990, 990-50=940
 1+1=2, 10×100=1000, 5×2=10, 50+10=60, 1000-60=940
 1+1=2, 10×100=1000, 1000-50=950, 5×2=10, 950-10=940
 1+1=2, 10×100=1000, 1000-50=950, 2×5=10, 950-10=940
 1+1=2, 10×100=1000, 2×5=10, 1000-10=990, 990-50=940
 1+1=2, 10×100=1000, 2×5=10, 50+10=60, 1000-60=940
 1+1=2, 10×100=1000, 2×5=10, 10+50=60, 1000-60=940
 1+1=2, 10×100=1000, 2×5=10, 1000-50=950, 950-10=940
 1+1=2, 5×100=500, 500×2=1000, 50+10=60, 1000-60=940
 1+1=2, 5×100=500, 500×2=1000, 1000-10=990, 990-50=940
 1+1=2, 5×100=500, 500×2=1000, 10+50=60, 1000-60=940
 1+1=2, 5×100=500, 500×2=1000, 1000-50=950, 950-10=940
 1+1=2, 5×100=500, 50+10=60, 500×2=1000, 1000-60=940
 1+1=2, 5×100=500, 50+10=60, 2×500=1000, 1000-60=940
 1+1=2, 5×100=500, 10+50=60, 500×2=1000, 1000-60=940
 1+1=2, 5×100=500, 10+50=60, 2×500=1000, 1000-60=940
 1+1=2, 5×100=500, 2×500=1000, 1000-10=990, 990-50=940
 1+1=2, 5×100=500, 2×500=1000, 50+10=60, 1000-60=940
 1+1=2, 5×100=500, 2×500=1000, 1000-50=950, 950-10=940
 1+1=2, 5×100=500, 2×500=1000, 10+50=60, 1000-60=940
 1+1=2, 2×5=10, 50+10=60, 100×10=1000, 1000-60=940
 1+1=2, 2×5=10, 50+10=60, 10×100=1000, 1000-60=940
 1+1=2, 2×5=10, 100×10=1000, 50+10=60, 1000-60=940
 1+1=2, 2×5=10, 100×10=1000, 1000-10=990, 990-50=940
 1+1=2, 2×5=10, 100×10=1000, 10+50=60, 1000-60=940
 1+1=2, 2×5=10, 100×10=1000, 1000-50=950, 950-10=940
 1+1=2, 2×5=10, 50+10=60, 100×10=1000, 1000-60=940
 1+1=2, 2×5=10, 50+10=60, 10×100=1000, 1000-60=940
 1+1=2, 2×5=10, 100×10=1000, 50+10=60, 1000-60=940
 1+1=2, 2×5=10, 100×10=1000, 1000-10=990, 990-50=940
 1+1=2, 2×5=10, 100×10=1000, 10+50=60, 1000-60=940
 1+1=2, 2×5=10, 100×10=1000, 1000-50=950, 950-10=940
 1+1=2, 2×5=10, 10+50=60, 100×10=1000, 1000-60=940
 1+1=2, 2×5=10, 10+50=60, 10×100=1000, 1000-60=940
 1+1=2, 2×5=10, 10+50=60, 100×10=1000, 1000-60=940
 1+1=2, 2×5=10, 10+50=60, 10×100=1000, 1000-60=940
 1+1=2, 2×5=10, 10×100=1000, 1000-10=990, 990-50=940
 1+1=2, 2×5=10, 10×100=1000, 50+10=60, 1000-60=940
 1+1=2, 2×5=10, 10×100=1000, 1000-50=950, 950-10=940
 1+1=2, 2×5=10, 10×100=1000, 10+50=60, 1000-60=940
 1+1=2, 2×5=10, 10×100=1000, 1000-10=990, 990-50=940
 1+1=2, 2×5=10, 10×100=1000, 50+10=60, 1000-60=940
 1+1=2, 2×5=10, 10×100=1000, 10+50=60, 1000-60=940
 1+1=2, 2×5=10, 10×100=1000, 1000-50=950, 950-10=940
 1+1=2, 100×5=500, 500×2=1000, 50+10=60, 1000-60=940
 1+1=2, 100×5=500, 500×2=1000, 1000-10=990, 990-50=940
 1+1=2, 100×5=500, 500×2=1000, 10+50=60, 1000-60=940
 1+1=2, 100×5=500, 500×2=1000, 1000-50=950, 950-10=940
 1+1=2, 100×5=500, 50+10=60, 500×2=1000, 1000-60=940
 1+1=2, 100×5=500, 50+10=60, 2×500=1000, 1000-60=940
 1+1=2, 100×5=500, 10+50=60, 500×2=1000, 1000-60=940
 1+1=2, 100×5=500, 10+50=60, 2×500=1000, 1000-60=940
 1+1=2, 100×5=500, 2×500=1000, 1000-10=990, 990-50=940
 1+1=2, 100×5=500, 2×500=1000, 50+10=60, 1000-60=940
 1+1=2, 100×5=500, 2×500=1000, 1000-50=950, 950-10=940
 1+1=2, 100×5=500, 2×500=1000, 10+50=60, 1000-60=940
 50+1=51, 100-1=99, 99-5=94, 94×10=940
 50+1=51, 100-1=99, 99-5=94, 10×94=940
 50+1=51, 5+1=6, 100-6=94, 94×10=940
 50+1=51, 5+1=6, 100-6=94, 10×94=940
 50+1=51, 1+5=6, 100-6=94, 94×10=940
 50+1=51, 1+5=6, 100-6=94, 10×94=940
 50+1=51, 100-5=95, 95-1=94, 94×10=940
 50+1=51, 100-5=95, 95-1=94, 10×94=940
 50-1=49, 100-1=99, 99-5=94, 94×10=940
 50-1=49, 100-1=99, 99-5=94, 10×94=940
 50-1=49, 5+1=6, 100-6=94, 94×10=940
 50-1=49, 5+1=6, 100-6=94, 10×94=940
 50-1=49, 1+5=6, 100-6=94, 94×10=940
 50-1=49, 1+5=6, 100-6=94, 10×94=940
 50-1=49, 100-5=95, 95-1=94, 94×10=940
 50-1=49, 100-5=95, 95-1=94, 10×94=940
 100-1=99, 50+1=51, 99-5=94, 94×10=940
 100-1=99, 50+1=51, 99-5=94, 10×94=940
 100-1=99, 50-1=49, 99-5=94, 94×10=940
 100-1=99, 50-1=49, 99-5=94, 10×94=940
 100-1=99, 5+1=6, 99×10=990, 990-50=940
 100-1=99, 5+1=6, 10×99=990, 990-50=940
 100-1=99, 5-1=4, 99×10=990, 990-50=940
 100-1=99, 5-1=4, 10×99=990, 990-50=940
 100-1=99, 99×10=990, 5+1=6, 990-50=940
 100-1=99, 99×10=990, 5-1=4, 990-50=940
 100-1=99, 99×10=990, 990-50=940
 100-1=99, 99×10=990, 1+5=6, 990-50=940
 100-1=99, 1+50=51, 99-5=94, 94×10=940
 100-1=99, 1+50=51, 99-5=94, 10×94=940
 100-1=99, 10×99=990, 5+1=6, 990-50=940
 100-1=99, 10×99=990, 5-1=4, 990-50=940
 100-1=99, 10×99=990, 990-50=940
 100-1=99, 10×99=990, 1+5=6, 990-50=940
 100-1=99, 1+5=6, 99×10=990, 990-50=940
 100-1=99, 1+5=6, 10×99=990, 990-50=940
 100-1=99, 99-5=94, 50+1=51, 94×10=940
 100-1=99, 99-5=94, 50+1=51, 10×94=940
 100-1=99, 99-5=94, 50-1=49, 94×10=940
 100-1=99, 99-5=94, 50-1=49, 10×94=940
 100-1=99, 99-5=94, 94×10=940
 100-1=99, 99-5=94, 1+50=51, 94×10=940
 100-1=99, 99-5=94, 1+50=51, 10×94=940
 100-1=99, 99-5=94, 10×94=940
 5+1=6, 50+1=51, 100-6=94, 94×10=940
 5+1=6, 50+1=51, 100-6=94, 10×94=940
 5+1=6, 50-1=49, 100-6=94, 94×10=940
 5+1=6, 50-1=49, 100-6=94, 10×94=940
 5+1=6, 100-1=99, 99×10=990, 990-50=940
 5+1=6, 100-1=99, 10×99=990, 990-50=940
 5+1=6, 1+50=51, 100-6=94, 94×10=940
 5+1=6, 1+50=51, 100-6=94, 10×94=940
 5+1=6, 100-6=94, 50+1=51, 94×10=940
 5+1=6, 100-6=94, 50+1=51, 10×94=940
 5+1=6, 100-6=94, 50-1=49, 94×10=940
 5+1=6, 100-6=94, 50-1=49, 10×94=940
 5+1=6, 100-6=94, 94×10=940
 5+1=6, 100-6=94, 1+50=51, 94×10=940
 5+1=6, 100-6=94, 1+50=51, 10×94=940
 5+1=6, 100-6=94, 10×94=940
 5-1=4, 100-1=99, 99×10=990, 990-50=940
 5-1=4, 100-1=99, 10×99=990, 990-50=940
 1+5=6, 100-6=94, 94×10=940
 1+5=6, 100-6=94, 1+50=51, 94×10=940
 1+5=6, 100-6=94, 1+50=51, 10×94=940
 1+5=6, 100-6=94, 10×94=940
 1+5=6, 100-6=94, 50+1=51, 94×10=940
 1+5=6, 100-6=94, 50+1=51, 10×94=940
 1+5=6, 100-6=94, 50-1=49, 94×10=940
 1+5=6, 100-6=94, 50-1=49, 10×94=940
 1+5=6, 1+50=51, 100-6=94, 94×10=940
 1+5=6, 1+50=51, 100-6=94, 10×94=940
 1+5=6, 50+1=51, 100-6=94, 94×10=940
 1+5=6, 50+1=51, 100-6=94, 10×94=940
 1+5=6, 50-1=49, 100-6=94, 94×10=940
 1+5=6, 50-1=49, 100-6=94, 10×94=940
 1+5=6, 100-1=99, 99×10=990, 990-50=940
 1+5=6, 100-1=99, 10×99=990, 990-50=940
 100-5=95, 50+1=51, 95-1=94, 94×10=940
 100-5=95, 50+1=51, 95-1=94, 10×94=940
 100-5=95, 50-1=49, 95-1=94, 94×10=940
 100-5=95, 50-1=49, 95-1=94, 10×94=940
 100-5=95, 95-1=94, 94×10=940
 100-5=95, 95-1=94, 1+50=51, 94×10=940
 100-5=95, 95-1=94, 1+50=51, 10×94=940
 100-5=95, 95-1=94, 10×94=940
 100-5=95, 95-1=94, 50+1=51, 94×10=940
 100-5=95, 95-1=94, 50+1=51, 10×94=940
 100-5=95, 95-1=94, 50-1=49, 94×10=940
 100-5=95, 95-1=94, 50-1=49, 10×94=940
 100-5=95, 1+50=51, 95-1=94, 94×10=940
 100-5=95, 1+50=51, 95-1=94, 10×94=940
 100-5=95, 1+50=51, 95-1=94, 94×10=940
 100-5=95, 1+50=51, 95-1=94, 10×94=940
 100-5=95, 50+1=51, 95-1=94, 94×10=940
 100-5=95, 50+1=51, 95-1=94, 10×94=940
 100-5=95, 50-1=49, 95-1=94, 94×10=940
 100-5=95, 50-1=49, 95-1=94, 10×94=940
 100-5=95, 95-1=94, 50+1=51, 94×10=940
 100-5=95, 95-1=94, 50+1=51, 10×94=940
 100-5=95, 95-1=94, 50-1=49, 94×10=940
 100-5=95, 95-1=94, 50-1=49, 10×94=940
 100-5=95, 95-1=94, 94×10=940
 100-5=95, 95-1=94, 1+50=51, 94×10=940
 100-5=95, 95-1=94, 1+50=51, 10×94=940
 100-5=95, 95-1=94, 10×94=940
 100×5=500, 1+1=2, 50+10=60, 2×500=1000, 1000-60=940
 100×5=500, 1+1=2, 50+10=60, 500×2=1000, 1000-60=940
 100×5=500, 1+1=2, 10+50=60, 2×500=1000, 1000-60=940
 100×5=500, 1+1=2, 10+50=60, 500×2=1000, 1000-60=940
 100×5=500, 1+1=2, 2×500=1000, 50+10=60, 1000-60=940
 100×5=500, 1+1=2, 2×500=1000, 1000-10=990, 990-50=940
 100×5=500, 1+1=2, 2×500=1000, 10+50=60, 1000-60=940
 100×5=500, 1+1=2, 2×500=1000, 1000-50=950, 950-10=940
 100×5=500, 1+1=2, 500×2=1000, 50+10=60, 1000-60=940
 100×5=500, 1+1=2, 500×2=1000, 1000-10=990, 990-50=940
 100×5=500, 1+1=2, 500×2=1000, 10+50=60, 1000-60=940
 100×5=500, 1+1=2, 500×2=1000, 1000-50=950, 950-10=940
 100×5=500, 50+10=60, 1+1=2, 2×500=1000, 1000-60=940
 100×5=500, 50+10=60, 1+1=2, 500×2=1000, 1000-60=940
 100×5=500, 50+10=60, 1+1=2, 500×2=1000, 1000-60=940
 100×5=500, 50+10=60, 1+1=2, 2×500=1000, 1000-60=940
 100×5=500, 10+50=60, 1+1=2, 2×500=1000, 1000-60=940
 100×5=500, 10+50=60, 1+1=2, 500×2=1000, 1000-60=940
 100×5=500, 10+50=60, 1+1=2, 500×2=1000, 1000-60=940
 100×5=500, 10+50=60, 1+1=2, 2×500=1000, 1000-60=940
 100×5=500, 1+1=2, 500×2=1000, 50+10=60, 1000-60=940
 100×5=500, 1+1=2, 500×2=1000, 1000-10=990, 990-50=940
 100×5=500, 1+1=2, 500×2=1000, 10+50=60, 1000-60=940
 100×5=500, 1+1=2, 500×2=1000, 1000-50=950, 950-10=940
 100×5=500, 1+1=2, 50+10=60, 500×2=1000, 1000-60=940
 100×5=500, 1+1=2, 50+10=60, 2×500=1000, 1000-60=940
 100×5=500, 1+1=2, 10+50=60, 500×2=1000, 1000-60=940
 100×5=500, 1+1=2, 10+50=60, 2×500=1000, 1000-60=940
 100×5=500, 1+1=2, 2×500=1000, 1000-10=990, 990-50=940
 100×5=500, 1+1=2, 2×500=1000, 50+10=60, 1000-60=940
 100×5=500, 1+1=2, 2×500=1000, 1000-50=950, 950-10=940
 100×5=500, 1+1=2, 2×500=1000, 10+50=60, 1000-60=940
 100÷5=20, 20-1=19, 19×50=950, 950-10=940
 100÷5=20, 20-1=19, 50×19=950, 950-10=940
 100÷5=20, 20-1=19, 19×50=950, 950-10=940
 100÷5=20, 20-1=19, 50×19=950, 950-10=940
 1+5=6, 50+1=51, 100-6=94, 94×10=940
 1+5=6, 50+1=51, 100-6=94, 10×94=940
 1+5=6, 50-1=49, 100-6=94, 94×10=940
 1+5=6, 50-1=49, 100-6=94, 10×94=940
 1+5=6, 100-1=99, 99×10=990, 990-50=940
 1+5=6, 100-1=99, 10×99=990, 990-50=940
 1+5=6, 1+50=51, 100-6=94, 94×10=940
 1+5=6, 1+50=51, 100-6=94, 10×94=940
 1+5=6, 100-6=94, 50+1=51, 94×10=940
 1+5=6, 100-6=94, 50+1=51, 10×94=940
 1+5=6, 100-6=94, 50-1=49, 94×10=940
 1+5=6, 100-6=94, 50-1=49, 10×94=940
 1+5=6, 100-6=94, 94×10=940
 1+5=6, 100-6=94, 1+50=51, 94×10=940
 1+5=6, 100-6=94, 1+50=51, 10×94=940
 1+5=6, 100-6=94, 10×94=940
  ==> 911197 appels à Cal()

On constate qu'il sera nécessaire d'éviter les résultats "équivalents", principalement ceux générés en raison de la commutativité de certaines opérations (a+b=b+a, a×b=b×a, ...).
 
 

Temps de calcul


Malgré le calcul et l'affichage de beaucoup de doublons, le temps d'exécution semble assez bon: environ trois secondes sur mon ordi i5 3.2 GHz.
 
 

Améliorations souhaitables


- Eviter de traiter certaines solutions "équivalentes" (doublons).
- Diminuer le temps d'exécution à un "clin d'oeil".
- Eviter de traiter et afficher les solutions "longues".
- Si nécessaire, retenir et afficher des solutions approchantes.
- Permettre l'introduction un tirage explicite.
- Possibilité de modifier le jeu de plaques.
- Possibilité de modifier le nombre de tirages.
- Affichage du temps écoulé.
- Rendre l'interface plus agréable.
- Vos propositions ...

Remarques:
Les instructions qui contiennent la variable nCal servent à compter le nombre d'appels à la fonction Cal() et sont donc provisoires.
La solution triviale (sans aucune opération) d'un tirage qui contient 100 avec le résultat 100 n'est pas détectée.
 
 
Le prochain article B Le compte est bon en un clin d'oeil proposera de limiter la génération de solutions "doubles et longues" tout en améliorant la rapidité.
 
 
Merci de votre lecture ...
 
 
Testé avec:  Chrome, Explorer, Firefox, Opera, Safari

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.