Esse desafio é enviar para o seu terminal, janela, tela ou tela os números de zero a 10, inclusive. Cada número emitido deve ser mostrado como um nybble de 4 bits de largura; portanto, zero deve ser exibido 0000
assim por diante.
Você pode separar cada número gerado com um espaço, vírgula ou retorno de carro. A menor solução vence, mas os números podem ser exibidos em qualquer ordem que você quiser, desde que não haja números repetidos em sua sequência.
As entradas em idiomas binários de baixo nível não precisam se preocupar com os separadores de vírgula ou espaço em branco, se não for possível gerar vírgulas ou espaços em branco (ou seja, a saída padrão é limitada apenas ao binário ou sua solução é para um kit de computador antigo) como o KIM-1, que possui um display digital limitado).
fonte
Respostas:
SmileBASIC, 26 bytes
fonte
MATL , 6 bytes
Experimente no MATL Online
Explicação
fonte
05AB1E ,
98 bytesExperimente online!
fonte
JavaScript, 46 bytes
Por que usar uma função de preenchimento quando você pode simplesmente adicionar 16 a cada número e cortar o primeiro dígito binário?
fonte
Japonês , 7 bytes
E aqui eu estava pensando que Japt estava fadado a ser mais longo do que qualquer outra língua do golfe ...
Teste online!
Explicação
Normalmente, vírgulas podem ser removidas no Japt, mas esta existe por causa de um erro:
_
normalmente significafunction(Z){Z
, mas por algum motivo o compilador pensa queA_
significafunction(A,Z){Z
.fonte
Aô_¤
Utilitários Bash + GNU, 26
Experimente online .
fonte
seq -w 0 1010
Deveria trabalhar.-w
opçãoseq
antes.Utilitários Bash + Unix,
2926 bytesExperimente online!
Tem o mesmo tamanho da solução @ DigitalTrauma / @ Dennis, mas usa um método completamente diferente.
A saída é:
(Qualquer pedido é permitido.)
Pure Bash , 34 bytes
Experimente a versão pura do Bash online!
A saída é:
fonte
J, 6 bytes
Graças a milhas por reduzi-lo para 6 bytes!
fonte
#:i.11
deve funcionar tão bemGeléia , 7 bytes
Experimente online!
(5 bytes se linhas finais de nybbles forem permitidas
2Bṗ4Y
)Quão?
Imprime em ordem decrescente.
Um 7-byter alternativo é
2ṗ4Ịṫ6Y
, o[1,0]
é substituído por[1,2]
eỊ
é a mônada "é insignificante" (abs(z)<=1
), convertendo2
s para0
s.fonte
Python 3.6,
3635 bytes-1 byte graças a @JonathanAllan
Python 3.5 e versões anteriores:
Experimente online!
fonte
i=11
(nova linha)while i:i-=1;print(f"{i:04b}")
, por 35 anos.PHP, 33 bytes
fonte
CJam , 12 bytes
Experimente online!
Explicação
A abordagem do poder cartesiano teria sido minha escolha, mas já foi adotada.
Portanto, isso gera números de 0 a 10 e, para cada um, adiciona 16 e converte em binário. A adição de 16 garante que os zeros iniciais necessários sejam produzidos, juntamente com um zERO inicial extra que é removido.
fonte
MATLAB / oitava, 13 bytes
Demo Online
fonte
Gelatina ,
10, 9, 8 bytesExperimente online!
Eu não sou tão bom em geléia, então eu estaria aberto a qualquer dica!
Isso usa o primeiro algoritmo de Emigna
Agradeço a Dennis por
cortar dois bytes,fazendo-me amarrar sua própria resposta. : PExplicação:
fonte
Ḋ€
salva um byte.⁴r27
salva outro.Python 2 ,
3836 bytesObrigado a @DJMcMayhem por jogar fora 2 bytes!
Experimente online!
fonte
for n in range(11):print bin(n+16)[3:]
também em 38 bytes.n=16;exec"print bin(n)[3:];n+=1;"*11
é dois mais curtoGelatina , 8 bytes
Experimente online!
Como funciona
fonte
RProgN, 15 bytes
Esta foi uma modificação muito boa para adicionar umapad
função. A totalidade de]L4\-'0'\m\.
, mais da metade do código, é preenchida._Guardado 6 bytes graças ao @ETHProductions , essa é a função pad cortada ao meio.
Explicado
Experimente online!
fonte
length of the Alphabet
Ótima maneira de salvar um byte ;-)Retina ,
3633 bytesExperimente online!
Explicação
Substitua a entrada vazia (inexistente) por
%%%%
.Na primeira execução deste estágio, ele corresponderá
^%
e substituirá essencialmente o texto%%%%
pelas duas linhas0%%%
e1%%%
. O estágio girará até que a saída pare de mudar. Na segunda execução, ele corresponderá\b%
(já que os dígitos contam como caracteres de palavra e%
não) e substitui os grupos duplicando-os e adicionando0
a uma cópia e1
à outra:0%%%
torna - se as linhas00%%
e01%%
(e o mesmo tipo de coisa para1%%%
) Através desse loop, todas as 16 seqüências de bits serão produzidas, com avanço de linha separado.As 11 primeiras correspondências de
\d+
(uma execução de pelo menos 1 dígito) são recuperadas. As correspondências são exibidas em uma lista separada por avanço de linha.fonte
0$%'¶$%
linha 1` funciona. O que$%
,`1
,'¶
representam?$%`
representa tudo antes da partida na mesma linha e$%'
é tudo depois da partida na mesma linha.¶
é um avanço de linha literal. Então, basicamente, a substituição corresponde ao primeiro%
de uma linha e o substitui0
pelo resto da linha em que estava, uma nova linha, o início da linha em que estava e a1
. É claro que o início e o final da linha em que está inserido não foram afetados pela substituição, porque não fizeram parte da partida.G11`
como a última linha do regexRuby, 25 bytes
fonte
BF,
121101 bytesRequer uma nova linha à direita. Utiliza o
!
símbolo (portanto, marque a caixa que diz!
) com este intérprete (experimente online!) .Potencialmente 51 bytes se cada operador foi considerado como 4 bits
fonte
!
caixa de seleção que está sendo ativada.C #, 96 bytes
Golfe
Ungolfed
Código completo
Lançamentos
96 bytes
- Solução inicial.fonte
C
170120 bytesVersão não destruída:
Definitivamente pode ser encurtado !?
@Ahemone Ideia impressionante, obrigado!
Deve funcionar agora! Experimente online!
fonte
for
loop em sua versão golfed deve ir para 4 em vez de 3, mas isso não importa, porque o loop pode ser eliminado completamente e o segundo para loop pode começar a partir de 0. Você também pode usarwhile(n)
, mas compactando owhile
loop em umfor
loop salva mais novamente.n/=2
você também economizará um byte durante o turno. Também está faltando um encerramento}
na versão golfed, causando um erro na compilação.}
e melhorado o código, 50 bytes mais curto com base na sua ideia.R - 23
Podemos usar a
intToBin
função doR.utils
pacote:fonte
C,
756869 bytesAbordagem 1:
757374bytesExperimente online!
Abordagem 2:
6869 bytesExperimente online!
fonte
m,n;f(o)
vez dem,n,o;f()
Python 2, 44 bytes
Isso usa a
zfill
função que funciona como,rjust
exceto que ela sempre funciona0
para que você não perca bytes em um argumento.fonte
lambda k,l:' '*(len(k)-l)+k
) Uau ... +1 apenas por causa disso: DPyke, 8 bytes
Experimente aqui!
Também 8 bytes:
Experimente aqui!
fonte
Pitão -
87 bytesExperimente online aqui .
fonte
empilhados , 30 bytes
Experimente online!
11:>
é um intervalo de0
até10
. O resto é bastante auto-explicativo.Outras soluções que encontrei:
fonte
Ruby, 38 bytes
fonte
11.times{|i|puts i.to_s(2).rjust 4,?0}
BF , 134 bytes
Tenho certeza de que isso pode ser reduzido - é praticamente o meu primeiro golfe BF.
Experimente online! Assume uma fita infinita nas duas direções, como o intérprete do TIO usa. Um intérprete onde
<
em que a extremidade esquerda da fita fica sem operação economiza três bytes.Explicação
Mais da metade do código (os primeiros 77 bytes, para ser mais preciso) é gasto na inicialização da fita. Os passos são assim:
As células inicializadas para
1
armazenar os bits do nosso número mais 1:1
representam um bit zero e2
representam um bit.A fase de inicialização terminou com o ponteiro no
11
. Agora usamos essa célula para executar 11 iterações do nosso loop:fonte