Imaginemos que el bloque 1 + el bloque 2 + el bloque 3 dan la cantidad de dinero que buscamos.
Entramos a su función:
Con el bloque 1 no alcanza. Entonces es 1 + los pasos siguientes.
Con el bloque 2 no alcanza. Entonces es 1 + 1 + los pasos siguientes.
Con el bloque 3 tampoco alcanza según ustedes. Entonces es 1 + 1 + 1 + los pasos siguientes.
Con el bloque 4 alcanza. Entonces es 1 + 1 + 1 + 0.
Les termina dando 3, pero está mal. Están viendo el bloque siguiente. En vez de ir "acumulando" la plata que dan todos los bloques, se fijan si un bloque específico logra satisfacer toda la plata.
Si tuviésemos una lista infinita con un mismo bloque (sin que crezca exponencialmente como en este caso), con su lógica nunca terminaría. Y eso no respeta la consigna.
Por otro lado, sería mejor que eviten pasar la cantidad a los pasos siguientes. Que sus guardas queden como:
| ... = 1
| ... = 1 + los pasos siguientes
Hagamos un caso de ejemplo.
Imaginemos que el bloque 1 + el bloque 2 + el bloque 3 dan la cantidad de dinero que buscamos.
Entramos a su función:
Les termina dando 3, pero está mal. Están viendo el bloque siguiente. En vez de ir "acumulando" la plata que dan todos los bloques, se fijan si un bloque específico logra satisfacer toda la plata.
Si tuviésemos una lista infinita con un mismo bloque (sin que crezca exponencialmente como en este caso), con su lógica nunca terminaría. Y eso no respeta la consigna.
Por otro lado, sería mejor que eviten pasar la cantidad a los pasos siguientes. Que sus guardas queden como: | ... = 1 | ... = 1 + los pasos siguientes