Saltar al contenido

La colonia que crece

Enunciado

Nadie en la colonia Aurora, en una luna de Júpiter, cuenta como media persona. Cada año llegan colonos nuevos: el pct % de la población de ese momento, redondeado hacia abajo. Y como siempre llega alguna nave, si esa cuenta da 0, ese año llega 1 colono.

Escribe una función que reciba inicial, pct y meta (enteros, con inicial y meta de 1 en adelante y pct de 1 a 100) y regrese cuántos años pasan hasta que la población es meta o más.

Con 100, 10 y 150: 100 + 10 = 110, 110 + 11 = 121, 121 + 12 = 133 (el 10 % de 121 es 12.1 y queda en 12), 133 + 13 = 146 y 146 + 14 = 160: 5 años.

Con 10 habitantes y 3 %, la cuenta da 0.3, que queda en 0, así que llega 1. Si inicial ya es meta o más, son 0 años.

Ejemplos

  • El del ejemplo

    100, 10, 150 → 5

  • Se duplica cada año

    1, 100, 1024 → 10

  • Llega justo a la meta

    30, 10, 60 → 8

  • El redondeo hacia abajo pesa

    200, 7, 1000 → 25

  • Siempre llega al menos uno

    10, 3, 15 → 5

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def crecer(inicial, pct, meta):
    pass

JavaScript

function crecer(inicial, pct, meta) {
}
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Es gratis y no hace falta cuenta para empezar.

Más retos de O(log n)

Ver todos los retos →