7 , 10 bytes, 27 caracteres
115160723426754314105574033
Experimente online!
A representação empacotada deste programa no disco é ( xxd
formato):
00000000: 269c 3a71 6f63 308b 7c0d &.:qoc0.|.
Explicação
Já vimos essa sequência de números antes, em Automatize Saving the World , que tratava de imprimir os números em intervalos regulares, tornando-o interessante ao exigir o uso de um idioma muito antigo. Muitos idiomas mais novos podem ter suas próprias reviravoltas que tornam esse desafio interessante. (Sim, este parágrafo e, de fato, a razão pela qual comecei a escrever esta resposta, é efetivamente apenas uma maneira de fazer com que todos os desafios relacionados apareçam juntos na barra lateral; normalmente as pessoas fazem isso usando comentários, mas eu não tenho representantes suficientes. .)
A primeira coisa a observar é que 7 é feito inteiramente de dígitos, portanto, é improvável que os bônus aqui funcionem (embora se você visualizar o programa como uma sequência de octetos, nenhum deles corresponda às representações ASCII de qualquer um dos números originais , para que você possa reivindicar o bônus nesse sentido). A próxima coisa a ser observada é que 7 possui comandos para recriar a sequência de comandos que provavelmente produziu um dado específico; então poderíamos interpretar os números perdidos4815162342
como uma seção do próprio programa 7?
A resposta é "não exatamente". A parte mais problemática é esse segundo número,8
,. 7 programas são escritos em octal; não existe um número igual a 8. Portanto, o início da string terá que ser impresso de maneira diferente.
A base do programa é, portanto, baseada no programa 7 "Hello world":
5431410557403
543141055 string literal
7 separate data from code
4 rearrange stack: {program's source}, empty element, {literal}
0 escape {the literal}, appending it to {the empty element}
3 output {the escaped literal}, pop {the program's source}
com o literal escapado em um idioma específico do domínio, interpretado da seguinte maneira:
5 output format: US-TTY using pairs of digits in the string
43 select character set: digits and common symbols
14 "4"
10 "8"
55 forget the set output format
Depois disso, vem um extra 3
, que gera o elemento restante da pilha (e sai devido à pilha restante insuficiente). Esse elemento é especificado no início do programa e, para evitar o incomparável 6
(que funciona um pouco como um colchete de fechamento), nós o geramos usando código, em vez de gravá-lo diretamente como dados. (Observe que existem dois 7
caracteres implícitos no início do programa, o que é relevante aqui):
{77}115160723426
7 empty stack element
7 11516 append "1151"
0 append "6"
723246 append "2324"
Isso produz o seguinte literal:
115162324
1 set output format: literally as octal
15162324 "15162324"
que é impresso.