Solución de una descomposición numérica
La nueva función Groupings proporciona un potente método para generar todos los posibles resultados de la combinación de ciertos objetos y operaciones. En particular, es muy útil para resolver algunos juegos numéricos tales como aquellos en el programa de TV francesa Des chiffres et des lettres, o algunas preguntas aritméticas populares recientes posteadas en las redes sociales.
Determine cómo obtener 10 usando los números enteros 1, 1, 5, 8 y las cuatro operaciones aritméticas básicas.
![Click for copyable input](assets.es/solve-a-number-decomposition/In_78.png)
ints = {1, 1, 5, 8};
ops = {Plus, Subtract, Times, Divide};
Existen 3.840 combinaciones posibles para estos cuatro números enteros y las operaciones binarias dadas.
![Click for copyable input](assets.es/solve-a-number-decomposition/In_79.png)
Length[combs = Groupings[Permutations[ints], ops -> 2, HoldForm]]
![](assets.es/solve-a-number-decomposition/O_70.png)
Aquí hay una muestra de ellas.
![Click for copyable input](assets.es/solve-a-number-decomposition/In_80.png)
RandomSample[combs, 10]
![](assets.es/solve-a-number-decomposition/O_71.png)
Calcule el resultado de cada combinación, muchas de ellas involucran la división entre 0.
![Click for copyable input](assets.es/solve-a-number-decomposition/In_81.png)
results = Quiet@ReleaseHold[combs];
Ésta es la única combinación que produce 10.
![Click for copyable input](assets.es/solve-a-number-decomposition/In_82.png)
Cases[Thread[Equal[combs, results]], _ == 10]
![](assets.es/solve-a-number-decomposition/O_72.png)
El resultado más frecuente es 13, el cual es generado en 240 formas diferentes.
![Click for copyable input](assets.es/solve-a-number-decomposition/In_83.png)
TakeLargestBy[Tally[results], Last, 5]
![](assets.es/solve-a-number-decomposition/O_73.png)