Tarea
Escriba un programa que tome (como entrada) un número entero positivo. Luego contará desde 0
, agregando cada número entero a a String
, solo continuará si la longitud del valor String
es menor que el valor de la entrada.
Un entero serializado se define como el entero completamente formado con el valor máximo que pertenece al String
. Por "completamente formado", el entero no debería tener dígitos faltantes (lo que ocurriría si String
se cumple la restricción de longitud del ).
La salida del programa debe ser el entero serializado para su respectiva entrada positiva.
Reglas
- Es el código de golf, por lo que gana la respuesta más corta (en bytes).
- La entrada siempre será positiva.
- La salida debe ser un número entero en base-10 (decimal).
- El programa debe estar indexado a 0.
Entrada de ejemplo | Salida
5 | 4 (0 1 2 3 4 - Length of 5)
11 | 9 (0 1 2 3 4 5 6 7 8 9 1 - Length of 11)
12 | 10 (0 1 2 3 4 5 6 7 8 9 10 - Length of 12)
1024 | 377 (0 1 2 3 4 5 6 7 8 ... - Length of 1024)
Nota (s)
- Si tiene alguna pregunta (o desea que le proporcione más ejemplos), ¡por favor comente!
- Inspiración: /programming/45034478/how-do-i-calculate-the-maximum-serialized-integers-in-1024-length-limit
11
N-1
dígitos de la constante Champernowne , con un0
antecedente?Respuestas:
JavaScript (ES6),
4037 bytesEditar: guardado 3 bytes con algo de ayuda de @Arnauld.
fuente
05AB1E ,
107 bytesIdea para usar prefijos de la respuesta de Jonathan Jelly
Pruébalo en línea!
Explicación
fuente
Python 2 , 55 bytes
Puerto lambda recursivo de la respuesta de @ officialaimm .
Pruébalo en línea!
fuente
Japt , 13 bytes
¡Pruébelo en línea!
Explicación
fuente
PHP , 56 bytes
Pruébalo en línea!
fuente
Haskell ,
555350 bytesPruébalo en línea!
El uso es
(1024#"") 0
fuente
Python 2 ,
60 5958 bytesPruébalo en línea!
fuente
Gelatina ,
11 109 bytesUn enlace monádico que toma un número entero positivo y devuelve un número entero no negativo.
Pruébalo en línea!
¿Cómo?
edición...
fuente
Pyth,
87 bytesPruébalo en línea. Banco de pruebas.
fuente
< num seq
También fue muy útil.Perl 6 , 36 bytes
Pruébalo en línea!
0 ...^ {...}
es la secuencia de números desde cero hasta uno menos que el número para el cual el bloque de código entre llaves devuelve verdadero. (...
sin el intercalado devolvería el primer número para el que el bloque devuelve verdadero).[~] 0 .. $^a
es la concatenación de números0
hasta el número actual$^a
(el parámetro para el bloque de código)..comb
es una lista de todos los caracteres (dígitos) en la cadena concatenada. Interpretado como un número, evalúa la longitud de la cadena..chars
sería más natural de usar aquí, ya que se evalúa directamente a la longitud de la cadena, pero el nombre es un carácter más largo.$_
es el argumento de la función de nivel superior.[*-1]
selecciona el último elemento de la lista generada.fuente
QBIC , 34 bytes
Explicación
fuente
Python 2 , 44 bytes
Pruébalo en línea!
fuente
J 26 bytes
fuente
R , 43 bytes
Pruébalo en línea!
fuente
WendyScript , 42 bytes
Pruébalo en línea!
Sin golf:
fuente
PHP, 41 bytes
Pruébalo en línea .
fuente
Java 8, 64 bytes
O alternativas leves con el mismo número de bytes:
Explicación:
Pruébalo aquí
fuente
Ruby , 39 bytes
Pruébalo en línea!
fuente
Ruby, 44 bytes
Inspirado por la respuesta JAVA de Kevin Cruijssen. -4 bytes gracias a G B.
fuente
Perl 5 , 31 + 1 (
-p
) = 32 bytesPruébalo en línea!
fuente