Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

134
Vistas
Cómo realizar un seguimiento del número de veces que se llama a una función recursiva

Estoy tratando de usar la recursividad para resolver el siguiente problema:

En un pueblo pequeño la población es p0 = 1000 al comienzo de un año. La población aumenta regularmente en un 2 por ciento anual y, además, 50 nuevos habitantes por año vienen a vivir a la ciudad. ¿Cuántos años necesita el pueblo para ver su población mayor o igual a p = 1200 habitantes?

Este es mi código:

 function nbYear(p0, percent, aug, p) { let years = 0; function recYears(p0, percent, aug, p) { years += 1; if (p/p0 <= 1.06 && p/p0 >= 1) { return years; } else { return nbYear(p0 + p0 * (percent/100) + aug, percent, aug, p) } } return recYears(p0, percent, aug, p); } console.log(nbYear(1500, 5, 100, 5000))

Usé la variable years fuera de la función recursiva y la incrementé adentro. Pero el problema es que el retorno de recYears() es 1 cuando llega al caso base mientras espero que el valor de retorno sea 15 , ¡no sé lo que me estoy perdiendo aquí! Apreciaría tu ayuda.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Como dijo Pointy en el comentario, en lugar de llamar a recYears() estaba llamando a la función externa nbYear() .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda