mx-psi/retos-ed

Diferencias entre try1.cpp y try1.js

Closed this issue · 1 comments

try1.cpp no es capaz de sacar 419 de [10, 6, 100, 50, 10, 8] mientras que la versión de Javascript sí.

Las operaciones a realizar son:

50 - 8 = 42
100 * 42 = 4200
4200 - 10 = 4190
4190 / 10 = 419

En el cpp no se tiene en cuenta que puede no usarse un número, la versión actual obliga a usarlos todos. El motivo es ese. La versión en javascript introduce en cada paso la posiblidad de seguir por la rama descartando el número actual:

else if ((solt=solve(nuevo=s, resto)) != false)
  return solt;

Por cierto, la solución que se da me recuerda mucho a la de "unir los nueve puntos con cuatro líneas rectas", se consigue saliéndose del rango del que el cerebro humano piensa que no debe salir.