Dado um número inteiro não negativo n
, sua solução deve gerar um programa no idioma escolhido cuja saída tenha o n
número de bytes que o programa gerado.
Regras
- Você deve especificar o idioma e a codificação dos programas que sua solução gera e não pode escolher idiomas ou codificações diferentes para entradas diferentes da sua solução. O idioma do seu programa de saída pode ou não ser o mesmo da sua solução.
- Seu envio precisa lidar com números inteiros no intervalo do seu idioma, mas não abuse dessa regra.
Este é o código-golfe, pelo que vence o envio mais curto em bytes.
Exemplo
Suponha que n
seja 4. Minha solução então gera f_8
um programa que, na minha linguagem (imaginária), gera j3 1s+/2]!mz
. A saída do programa possui comprimento 3 e sua saída possui comprimento 3 * 4 = 12, portanto, a solução está correta para a entrada 4.
Suponha que n
seja 1 e meu programa saia ffffpfpffp
(10 bytes). O programa ffffpfpffp
no meu idioma escolhido teria que produzir uma saída de 10 * 1 = 10 bytes.
n
como uma corda?Respostas:
JavaScript (ES6), 38 bytes
Demo
Mostrar snippet de código
fonte
Gelatina , 10 bytes
Experimente online!
Para entrada
12
, ele gera12DL+8×x@⁶
, que gera 120 espaços. Experimente online!fonte
brainfuck , 348 bytes
Experimente online! Ou veja a versão Ungolfed (ou seja, com o que eu tinha que trabalhar)
aviso Legal
Passei mais tempo fazendo isso do que pensava ser humanamente possível. Gostaria de agradecer à minha namorada por me permitir dispensá-la para trabalhar nisso; assim como meu salvador .
Como isso funciona?
Nenhuma pista.
Como isso funciona?
Todas as saídas têm um trecho de código à direita que é o mesmo:
Vamos dividi-lo em três partes chamadas
a,b,c
A entrada
i
é simplesmente pregada na frente em unário:(por exemplo, se a entrada foi 10, então
i = '++++++++++'
)O duplicador - divide a entrada em dois números idênticos
m, n
, equivalentes à entradaO Ajustador - Ajusta de
n
forma que seja igual à duração do programaA impressora - imprime
m*n
caracteres ASCIIObserve que a entrada no exemplo é a
newline
, que como um valor ASCII de 10, portanto a entrada é10
. Se você quiser testar outros números pequenos, substitua o,
número+
que desejar.fonte
Queijo Cheddar ,
109 bytesUma poliglota protônica estranha> _ <
fonte
Haskell , 55 bytes
Experimente online!Exemplo de uso:
f 1
gera o seguinte programa de 54 bytes:Experimente online! que produz a seguinte saída de 54 bytes:
fonte
Python 3 -> HQ9 +, 11 bytes
Tinha que ser feito
Experimente online!
fonte
Q
apenas imprime seu próprio código fonte. Você pode testar isso aqui: hq9plus.alwaysdata.net . Isso nunca deveria ser uma entrada sério1
, então vocêQ
produz, o que, por sua vez, geraQ
.Q
tem comprimento1
, mas seu código tem comprimento11
.Java 8,
175174 bytesExemplos:
n=1
saídas :(comprimento = 89) que gera 89 zeros :
n=10
saídas :(comprimento = 90) que gera 900 zeros :
n=100
saídas :(comprimento = 91) que gera 9100 zeros :
Explicação:
fonte
RProgN 2 ,
75 bytesCom um espaço à direita
Explicado
Experimente online!
fonte
CJam,
813 bytesExperimente Online
O programa gerado gera espaços, então é meio difícil dizer.
fonte
Ly , 29 bytes
Experimente online!
(não funciona atualmente devido a um erro de pré-processamento)Tudo bem!fonte
Python → TECO, 20 bytes
A resposta está em Python enquanto o código gerado está em TECO. O Python é uma função que retorna
VV12345\VV
repetidas n vezes. Veja aqui uma explicação do TECO.fonte
PHP, 47 + 1 bytes
imprime um sublinhado seguido por espaços.
Corra como tubo com
-F
; execute o programa gerado com-f
ou-F
.Isso falharia na entrada com mais de 64 dígitos, o
que é muito maior que
PHP_INT_MAX
(no momento).No entanto, falha na entrada maior que
PHP_INT_MAX
-18 ... ainda se qualifica?fonte
PHP_INT_MAX
-18. Isso desqualifica?PHP → Python 2, 40 + 1 bytes
imprime um programa Python que imprime
A
s repetidos . Corra como cano com-F
.fonte
Lote → Carvão, 22 bytes
Não tenho certeza de qual codificação devo usar, pois esses são bytes. Aqui estão os bytes interpretados como Windows-1252:
Os mesmos bytes do PC-850:
Os mesmos bytes na página de código do Charcoal:
O programa Charcoal resultante tem
Plus(Length(Cast(n)), 9)
bytes:fonte
Recursiva ,
1615 bytesExperimente online!
Isto para entrada de
n=2
impressões:que gera 30
*
. Experimente online!fonte
JavaScript (ES8),
434139 bytesTeste-o
A saída da função gerada é uma sequência de espaços que são substituídos por
*
s neste Snippet.fonte
R , 46 bytes
Experimente online!
Função anônima que retorna a string
Que imprime
a
(a
seguido de um espaço) 23n
vezes. Eu precisava do''
porque, caso contráriocat
, não imprimiria o último caractere de espaço.fonte
C, 94 bytes
isso seria 94 bytes, incluindo o último \ n que o padrão C diz que deve ser gravado. retornar como caracteres 'r' como o (comprimento do programa) * (argumento do programa) se o argumento do programa não existir ou for <= 0 ou for> 0xFFFFF
fonte
MATLAB (63 bytes)
Por exemplo:
e:
fonte