Cifras para numerar
- O(log n) · Fácil
- Gratis
- Python
- JavaScript
- dígitos
- operaciones
- ciclos
Enunciado
En el scriptorium, cada cifra se escribe a mano con tinta cara. Antes de empezar, el copista quiere saber cuánta tinta le va a costar numerar las páginas del códice, de la 1 a la última.
Escribe una función que reciba n, el número de páginas (un entero de 0 en adelante), y regrese cuántas cifras escribe en total al numerarlas de la 1 a la n. Con n igual a 0 no escribe ninguna: regresas 0.
Contar página por página funciona, pero sale mejor agruparlas por cuántas cifras llevan. Con 120 páginas hay 9 de una cifra (de la 1 a la 9), 90 de dos (de la 10 a la 99) y 21 de tres (de la 100 a la 120), así que el total es 9 + 180 + 63 = 252.
Ejemplos
Diez páginas
10 → 11
El ejemplo
120 → 252
Mil páginas
1000 → 2893
Un códice enorme
54321 → 260499
Casi un millón
999999 → 5888889
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def cifras_totales(n):
passJavaScript
function cifrasTotales(n) {
}Se abre en el navegador, con el editor y las pruebas. Es gratis y no hace falta cuenta para empezar.