Definamos un número autónomo como un entero positivo, cuyos dígitos aparecen en series de longitud igual a ellos mismos. En otras palabras, cualquier dígito decimal d (excluyendo 0 ) ocurre solo en corridas de longitud exactamente d .
Tarea
Puede elegir cualquiera de los tres métodos enumerados a continuación:
- Dado un número entero n , la salida de la n ésimo número autónomo (ya sea indexado-1 0 o).
- Dado un número entero n , genera los primeros n números autocontenidos.
- Imprime la secuencia indefinidamente.
Ejemplos
133322 es un número autónomo porque 3 aparece en una serie de tres 3 , 1 es único y 2 aparece en una serie de dos 2 .
Por otro lado, 35553355 no lo es, porque, aunque 5 y 3 ocurren cinco y tres veces respectivamente, no forman corridas de dígitos adyacentes.
44422 no es autónomo, porque 4 solo ocurre tres veces.
12222333 tampoco, porque 2 aparece en una ejecución de cuatro 2 's, y no puede tratarse como dos ejecuciones separadas de dos 2 ' s.
No es sorprendente que este sea OEIS A140057 , y sus primeros términos son:
1, 22, 122, 221, 333, 1221, 1333, 3331, 4444, 13331, 14444, 22122, 22333, 33322, 44441, 55555, 122122, 122333, 133322, 144441, 155555
Puede tomar entradas y proporcionar salidas a través de cualquiera de los métodos estándar , en cualquier lenguaje de programación , mientras observa que estas lagunas están prohibidas de manera predeterminada. Este es el código de golf, por lo que gana el código más corto en bytes (en todos los idiomas).
i
vuelva largo ? Puede ser necesario usarstr
(aunque nunca estoy realmente seguro de estas cosas).Mathematica, 66 bytes
Imprime la secuencia indefinidamente
Pruébalo en línea!
En TIO, debe finalizar la ejecución para ver el resultado, pero en Mathematica funciona bien.
-12 bytes de Martin Ender
fuente
05AB1E , 9 bytes
Devuelve el enésimo término de la secuencia, indexado en 1.
Pruébalo en línea!
Explicación
fuente
µNγD€gs€ÙQ
JavaScript (ES6),
767168 bytesDevuelve el enésimo término de la secuencia, indexado en 0.
Nota : como siempre con las funciones recursivas, el rango de entrada depende del soporte de Optimización de Llamada de Cola y el tamaño de la pila de su motor.
Manifestación
Mostrar fragmento de código
Alt. versión, 65 bytes
No realiza ninguna entrada e imprime los resultados
alert()
, uno a la vez.Pruébalo en línea! (Se detiene tan pronto como se excede el tamaño máximo de la pila).
fuente
Jalea , 7 bytes
Pruébalo en línea!
-4 bytes gracias a la sugerencia temprana del Sr. Xcoder .
-1 gracias a Jonathan Allan .
Toma información de STDIN.
fuente
CJam , 20 bytes
Pruébalo en línea!
Explicación:
fuente
Haskell , 70 bytes
fuente
x=
según nuestras reglas de golf .Brachylog , 10 bytes
Pruébalo en línea!
Infinitamente genera elementos de la secuencia a través de su variable de entrada. (Si realmente tiene que hacer la impresión en sí, agregue
&ẉ⊥
). Este es esencialmente un código para resolver el problema de decisión correspondiente con una≜
solución bruta antepuesta a la fuerza bruta primero:Esperaba que esto solo tomara 9 bytes, pero
ḅ
parece requerir un explícitoẹ
para separar los dígitos de un número en ejecuciones.fuente
JavaScript 4,
8380 bytesfuente
Perl 6 , 49 bytes
Pruébalo en línea!
Devuelve el
n
elemento -th de la secuencia, indexado a cero.fuente
\d
puede ser.
R , 56 bytes
Pruébalo en línea!
Utiliza la codificación de longitud de ejecución en el número dividido. Devuelve verdadero si todas las longitudes son iguales a los valores.
Nota: He cargado la
methods
biblioteca en TIO para ponermeel
a trabajar.fuente
Stax , 10 bytes
Ejecutar y depurarlo
Este programa filtra todos los enteros positivos con un filtro. Los dígitos están codificados en longitud de ejecución. Para cada ejecución, el dígito debe ser igual a la longitud de la ejecución.
fuente
Pyth, 12
Prueba en línea!
fuente
.fqFCr8jZT
Perl 5
-p
, 48 bytesPruébalo en línea!
Devuelve el enésimo elemento, 1 indexado.
fuente
Java 10, 121 bytes
Una lambda de
int
aint
. La función toma un índice n y devuelve el n º valor de secuencia (1-indexado).Pruébalo en línea
Sin golf
fuente