Wolfram Language

Algèbre et théorie des nombres

Résolvez une décomposition numérique

La nouvelle fonction Groupings fournit une méthode puissante pour générer tous les résultats possibles de la combinaison de certains objets et opérations. En particulier, il est très utile de résoudre quelques jeux numériques comme ceux du programme télévisuel français «Des chiffres et des lettres», ou de quelques récentes questions arithmétiques postées sur les réseaux sociaux.

Déterminez comment obtenir 10 en utilisant les entiers 1, 1, 5, 8 et les quatre opérations arithmétiques de base.

In[1]:=
Click for copyable input
ints = {1, 1, 5, 8}; ops = {Plus, Subtract, Times, Divide};

Il existe 3840 combinaisons possibles de ces quatre entiers et des opérations binaires données.

In[2]:=
Click for copyable input
Length[combs = Groupings[Permutations[ints], ops -> 2, HoldForm]]
Out[2]=

Voici un échantillon d'entre eux.

In[3]:=
Click for copyable input
RandomSample[combs, 10]
Out[3]=

Calculez le résultat de chaque combinaison, dont plusieurs impliquent la division par 0.

In[4]:=
Click for copyable input
results = Quiet@ReleaseHold[combs];

C'est la seule combinaison qui produit 10.

In[5]:=
Click for copyable input
Cases[Thread[Equal[combs, results]], _ == 10]
Out[5]=

Le résultat le plus fréquent est 13, généré de 240 façons différentes.

In[6]:=
Click for copyable input
TakeLargestBy[Tally[results], Last, 5]
Out[6]=

Exemples connexes

de en es ja ko pt-br ru zh