Es necesario que una función se llame de forma recursiva 40 veces ???
Lo mismo sería más lógico que no fuese recursiva y encerrar ese código en un bucle.
La función recursiva puede llamarse 40 veces, 100 o 2. Eso no depende de mi. Como ya he dicho se trata de hacer una estadística, y el llamar la función recursiva depende de números aleatorios. La primera llamada a la función recursiva es la que se hace 40 veces aprox antes de morir el programa. Vamos que antes de morir ha entrado y salido del "bucle de recursividad" unas 40 veces de forma satisfactoria. Ojala fuese tan fácil como cambiar la recursividad por un bucle!
Listo, el problema esta ahi sin duda, lo mas probable es que la condicion que hacia retornar sin llamarse a si misma a la funcion recursiva ya no se esta cumpliendo nunca.
Pues parece que tienes razón porque al eliminar la recursividad de momento no me está dando fallos, pero la recursividad me es necesaria. Voy a probar a quitarle variables inútiles de esas que se quedan sueltas de cuando uno está construyendo el programa la primera vez para evitar que se desborde la pila. Esto que dices de la condición que hacia retornar no lo entiendo. ¿Puedes poner un ejemplo?
Muchas gracias por las respuestas, y un saludo a todos.