Diferencias entre try1.cpp y try1.js
Closed this issue · 1 comments
mx-psi commented
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
josemam commented
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.