La colonia que crece
- O(log n) · Fácil
- Gratis
- Python
- JavaScript
- división
- ciclos
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):
passJavaScript
function crecer(inicial, pct, meta) {
}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)
- La cumbre de la crestalistas · búsqueda · comparaciones
- La parada más cercanalistas · búsqueda · comparaciones
- La primera versión rotalistas · búsqueda · booleanos
- La sección de la páginalistas · búsqueda · índices
- Las balizas que faltanlistas · búsqueda · índices
- Las capturas del mismo pesolistas · búsqueda · índices