Introducción
La secuencia OEIS A127421 es la secuencia de números cuya expansión decimal es una concatenación de 2 números no negativos crecientes consecutivos. En pocas palabras, cada número en la secuencia se forma al juntar n con n + 1 para algún valor entero no negativo de n . Los primeros términos son:
1, 12, 23, 34, 45, 56, 67, 78, 89, 910, 1011, 1112, 1213, 1314, 1415, 1516, 1617, 1718, 1819, 1920, 2021, 2122, 2223, 2324, 2425, 2526, 2627, 2728, 2829, 2930, 3031, 3132, 3233, 3334, 3435, 3536, 3637, 3738, 3839, 3940, 4041, 4142, 4243, 4344, 4445, 4546,…
Desafío
Dado un número entero positivo n , imprima las primeras n entradas de la secuencia OEIS A127421 en orden creciente.
- La entrada y salida pueden estar en cualquier formato aceptable . Las cadenas o números están bien para la salida.
- Los ceros a la izquierda no están permitidos.
- Se permite un programa completo o una función.
- Para los propósitos de este desafío, n será positivo y menor de 100.
- Las lagunas estándar no están permitidas por defecto.
- Esta pregunta es el código de golf, por lo que gana el conteo de bytes más bajo.
Aquí hay algunos ejemplos de entrada y salida:
1 => 1 2 => 1, 12 3 => 1, 12, 23 10 => 1, 12, 23, 34, 45, 56, 67, 78, 89, 910
Si tiene alguna pregunta, no dude en preguntar. Buena suerte.
PD: este es mi primer desafío, así que espero que todo esto tenga sentido.
EDITAR: Se eliminó la restricción de salida para permitir números o cadenas.
Respuestas:
Jalea , 3 bytes
Un enlace monádico que acepta un entero que produce una lista de enteros
Pruébalo en línea!
¿Cómo?
fuente
R , 32 bytes
Pruébalo en línea!
Superado por MickyT , ¡así que vota tu respuesta!
fuente
0
de la primera salida.[-1]
lugar de usarlostrtoi
o falla en algún caso de borde u otro?strtoi
se está utilizando para convertir de"01"
a1
porquepaste0
regresarác("01","12","23","34",...)
y no se nos permite regresar"01"
.1
Python 3 , 39 bytes
Pruébalo en línea!
fuente
f-strings
se pueda utilizar para jugar al golf! Buena idea.Haskell,
3837 bytesPruébalo en línea!
¡Gracias a Cat Wizard por un byte!
fuente
<$>
como un sustitutomap
, que puede ser infijo.Cubix , 19 bytes
Pruébalo en línea!
Esto se envuelve en el cubo de la siguiente manera
Míralo correr
Todavía tengo un pequeño espacio para jugar, pero por el momento
W
redirigir a la cara superior hacia abajoI1>
configura la pila con la entrada y luego redirige al bucle principalOSo;u
generar la parte superior de la pila, agregar espacio para apilar, generar, eliminar y usar-!@;Ou)
reste los TOS de la entrada, si 0 detiene el resultado del pop, salga los TOS, use e incremente los TOS. De vuelta al bucle principal.fuente
Perl 6 ,
1918 bytesPruébalo en línea!
Bloque de código anónimo que comprime el rango de 0 a n-1 con 1 a n usando el operador de concatenación, luego agrega 0 a cada elemento para forzarlo a un número y eliminar los ceros iniciales.
fuente
R ,
3029 bytesUn byte extra gracias a @Giuseppe
Pruébalo en línea!
Una solución principalmente matemática, excepto por el uso en
nchar()
lugar defloor(log10())
. Realmente me sorprendió que fuera más corto que la versión de cadena .fuente
APL (Dyalog) ,
1312 bytes1 byte guardado gracias a @FrownyFrog
Pruébalo en línea!
fuente
(⍎⍕,∘⍕1∘+)¨⍳
Brachylog , 6 bytes
Pruébalo en línea!
Explicación
fuente
Python 2 ,
4241 bytesPruébalo en línea!
Función recursiva que devuelve una lista mixta de cadenas y enteros.
fuente
n and
Haskell , 34 bytes
Pruébalo en línea!
fuente
Flor , 88 bytes
Blossom es un lenguaje de programación gráfica en el que estoy trabajando. Solo puede tomar gráficos como entradas, por lo que este programa espera un gráfico que comprenda un solo nodo con su etiqueta un número entero. Devuelve un gráfico de bordes conectados para formar el más cercano a una matriz que puedo obtener, y el gráfico resultante se imprime en la salida.
Una versión no minificada del código es esta:
Define dos reglas: una llamada
expand
, que (si bien hay un nodo con una etiqueta de valor entero en el gráfico actual) crea otro nodo con su incremento concatenado y reduce el valor. También crea una ventaja entre estos dos nodos. Esta regla también tiene la condición de que x es mayor que 0.La
!
ejecuta esta regla durante el tiempo que se puede aplicar en el gráfico, por lo que en este caso se ejecutará hasta que x es 0. Y entonces elclean
regla elimina esta 0 nodo y su borde.Blossom no fue hecho para jugar al golf, pero no lo hace tan mal, no creo, considerando lo que es. Actualmente no existe una manera fácil para que las personas prueben el código de flor (y el intérprete en el que estoy trabajando en este momento no está del todo terminado y está un poco defectuoso), ¡pero esta no es exactamente una entrada competitiva!
fuente
JavaScript (Node.js) , 25 bytes
Pruébalo en línea!
fuente
f=n=>--n?[f(n),n]+-~n:1
Shakespeare , 703 bytes
pruébalo aquí
versión sin golf
fuente
Groovy , 35 bytes
Pruébalo en línea!
Se me ocurrió la idea de usar * .with en lugar de .collect en el último minuto. No tengo idea de qué
it+++it
analiza, pero si esit++ + it
oit + ++it
ambos hacen lo mismo. Traté de pensar en una forma de deshacerme de <in .. <convirtiéndolo en 1..it y decrementando, pero no creo que se acorte más.fuente
a+++b
, esta prueba sugiere que se analiza de izquierda a derecha, es decir(a++)+b
.C (gcc) ,
4443 bytesPruébalo en línea!
fuente
%m$
especificador de formato "denota la posición en la lista de argumentos del argumento deseado, indexado a partir de 1" (printf(3)
página del manual) . ¡Es bastante útil siempre que su biblioteca C lo admita!%d%d
(y cambiar el orden de los argumentos) no funciona. (Lo intenté, pero no sé por qué no produce salida)." %d%d"
debería haberlo hecho+3*!f(i)
; de lo contrario, el desplazamiento +5 apunta al NUL al final de la cadena).i+1
, noi
. Muy interesante.Pyth ,
986 bytesPruébalo en línea!
Explicación:
fuente
Jalea , 4 bytes
Pruébalo en línea!
Cómo funciona
fuente
Python 2 , 44 bytes
Pruébalo en línea!
fuente
05AB1E , 6 bytes
Pruébalo en línea!
Explicación
LεD<ìï
funcionaría para el mismo recuento de bytes pero con salida de listafuente
APL (Dyalog Classic) , 9 bytes
Pruébalo en línea!
fuente
Haskell , 37 bytes
Pruébalo en línea!
fuente
Japt
-m
,65 bytesPruébalo en línea!
Como siempre, conoce las banderas .
Desempaquetado y cómo funciona
fuente
ó
no funciona aquí sin el2
.C # (compilador interactivo de Visual C #) ,
103716456 bytesGolfed Pruébalo en línea!
Sin golf
Código completo
Versiones mas antiguas:
v1.2, 64 bytes
v1.1, 71 bytes
v1.0, 103 bytes
Lanzamientos
- 8 bytes
- EliminadoConsole
gracias de nuevo a raznagul- 7 bytes
- EliminadoSystem
gracias a raznagul-32 bytes
103 bytes
- Solución inicial.Notas
fuente
System.Console
. Para que pueda guardar 15 bytes eliminándolo.Console.
: TIOJ, 14 bytes
Pruébalo en línea!
fuente
2,&.":/\i.@>:
por 13 bytes. Pruébalo en línea!ABAP, 101 bytes
No es realmente un lenguaje de golf, pero me estoy divirtiendo mucho con él
W es el término de entrada, X es el contador de 1, Y es X-1 desde el segundo paso en adelante, Z es una cadena concatenada.
fuente
Powershell,
2726 bytes-1 byte: gracias AdmBorkBork
Script de prueba:
fuente
1.."$args"
lugar.Python 2 , 41 bytes
Pruébalo en línea!
fuente
PHP,
3332 bytesPruébalo en línea
Versión antigua
fuente
Javascript, 43
44,46,49,53bytesVersión anterior :
Ahorré 3 bytes gracias a la solución de @ Shaggy (que es mejor que la mía) para eliminar
.keys()
fuente