Vamos definir um número independente como um número inteiro positivo, cujos dígitos aparecem em execuções de comprimento iguais apenas a si mesmos. Em outras palavras, qualquer dígito decimal d (excluindo 0 ) ocorre apenas em execuções de comprimento exatamente d .
Tarefa
Você pode escolher qualquer um dos três métodos listados abaixo:
- Dado um número inteiro n , a saída do n th (0 ou 1-indexado) número de auto-contido.
- Dado um número inteiro n , imprima os primeiros n números independentes.
- Imprima a sequência indefinidamente.
Exemplos
133322 é um número independente, porque 3 aparece em uma execução de três 3 's, 1 é único e 2 ocorre em uma execução de dois 2 ' s.
Por outro lado, 35553355 não é, porque, embora 5 e 3 ocorram cinco e três vezes respectivamente, eles não formam execuções de dígitos adjacentes.
44422 não é independente, porque 4 ocorre apenas três vezes.
12222333 também não é, porque 2 aparece em uma execução de quatro 2 's e não pode ser tratado como duas execuções separadas de dois 2 ' s.
Não surpreende que seja o OEIS A140057 e seus primeiros termos são:
1, 22, 122, 221, 333, 1221, 1333, 3331, 4444, 13331, 14444, 22122, 22333, 33322, 44441, 55555, 122122, 122333, 133322, 144441, 155555
Você pode receber e fornecer saída através de qualquer um dos métodos padrão , em qualquer linguagem de programação , observando que essas brechas são proibidas por padrão. Esse é o código golf, portanto o código mais curto em bytes (em todos os idiomas) vence.
i
se torne longo ? Pode ser necessário usá-lostr
(embora nunca tenha certeza disso).Mathematica, 66 bytes
Imprime a sequência indefinidamente
Experimente online!
No TIO, é necessário encerrar a execução para ver o resultado, mas no Mathematica funciona bem.
-12 bytes de Martin Ender
fonte
05AB1E , 9 bytes
Retorna o enésimo termo da sequência, indexada em 1.
Experimente online!
Explicação
fonte
µNγD€gs€ÙQ
JavaScript (ES6),
767168 bytesRetorna o n-ésimo termo da sequência, indexada em 0.
NB : Como sempre com funções recursivas, o intervalo de entrada depende do suporte da Otimização de chamada de cauda e do tamanho da pilha do seu mecanismo.
Demo
Mostrar snippet de código
Alt. versão, 65 bytes
Não recebe entrada e imprime os resultados
alert()
, um de cada vez.Experimente online! (Pára assim que o tamanho máximo da pilha é excedido.)
fonte
Geléia , 7 bytes
Experimente online!
-4 bytes graças à sugestão inicial do Sr. Xcoder .
-1 graças a Jonathan Allan .
Recebe entrada de STDIN.
fonte
CJam , 20 bytes
Experimente online!
Explicação:
fonte
Haskell , 70 bytes
fonte
x=
acordo com nossas regras de golfe .Braquilog , 10 bytes
Experimente online!
Infinitamente gera elementos da sequência através de sua variável de entrada. (Se ele realmente tiver que fazer a impressão em si, acrescente
&ẉ⊥
.) Este é essencialmente o código para resolver o problema de decisão correspondente , com um≜
prefixo para força bruta primeiro das menores soluções:Eu esperava que isso levasse apenas 9 bytes, mas
ḅ
parece exigir um explícitoẹ
para separar os dígitos de um número em execuções.fonte
JavaScript 4,
8380 bytesfonte
Perl 6 , 49 bytes
Experimente online!
Retorna o
n
-ésimo elemento da sequência, indexado a zero.fonte
\d
pode apenas ser.
R , 56 bytes
Experimente online!
Utiliza a codificação de duração da execução no número de divisão. Retorna true se todos os comprimentos forem iguais aos valores.
Nota: Carreguei a
methods
biblioteca no TIO para começarel
a trabalhar.fonte
Stax , 10 bytes
Execute e depure
Este programa filtra todos os números inteiros positivos com um filtro. Os dígitos são codificados no comprimento da execução. Para cada execução, o dígito deve ser igual ao comprimento da execução.
fonte
Pyth, 12
Teste online!
fonte
.fqFCr8jZT
Perl 5
-p
, 48 bytesExperimente online!
Retorna o n-ésimo elemento, 1 indexado.
fonte
Java 10, 121 bytes
Um lambda de
int
paraint
. A função tem um índice n e retorna o n ° (1-indexado) valor sequência.Experimente Online
Ungolfed
fonte