Me quedé buscando un incrementador y por eso fallé la primera vez, pero al analizar bien el código y entender la lógica de la condición, fue muy satisfactorio encontrar la solución al problema del bucle infinito. Al descubrirla, me di cuenta de que era más sencillo de lo que parecía; solo necesitaba analizar bien el problema.