Dado como entrada um número inteiro positivo n>=1
, imprima as primeiras n
linhas do seguinte triângulo:
1
1 0 1
0 0 1 0 0
1 1 1 0 1 1 1
0 0 0 0 1 0 0 0 0
1 1 1 1 1 0 1 1 1 1 1
0 0 0 0 0 0 1 0 0 0 0 0 0
1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
As linhas alternam entre todos os zeros e todos, exceto que a coluna central é invertida.
Casos de teste
Entrada :
3
Saída :
1 1 0 1 0 0 1 0 0
Entrada :
10
Saída :
1 1 0 1 0 0 1 0 0 1 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
Seu código deve funcionar para qualquer n<100
. Este é o código-golfe , portanto o código mais curto em bytes vence!
Espaços à direita / novas linhas e novas linhas principais são permitidos!
Respostas:
Geléia , 7 bytes
Experimente online!
-1 byte graças a Erik the Outgolfer
Explicação
fonte
¶Ç
comµ
a -1.Python 2 , 50 bytes
Experimente online!
Isso retorna as linhas como uma lista de Strings.
Python 2 ,
67 6563 bytes (formatado)Experimente online!
Isso gera um espaço à direita em cada linha.
fonte
Gelatina , 8 bytes
Experimente online!
-2 graças ao HyperNeutrino .
fonte
¬^Ḃ
podem tornar-se=Ḃ
porqueNOT (XOR (A B))
é apenasIFF (A B)
editar aparentemente eu golfed mais do que eu pensei que tinha o_O lolPython 2 , 50 bytes
Experimente online!
Python 2 , 53 bytes
Experimente online!
Python 2 , 67 bytes
Experimente online!
fonte
Japonês ,
129 bytesTeste online!
Bastantetriste comparado com Jelly, mas Japt não tem nada parecido,Ṭ
então devo me contentar com o que tenho ...Explicação
fonte
Mathematica, 77 bytes
@ Não é uma árvore que reduziu para 48 bytes!
Mathematica, 48 bytes
fonte
#&@@@NestList[CellularAutomaton@51,{{1},0},#-1]&
48 bytesPitão , 14 bytes
Obrigado a @Jakube por salvar 2 bytes!
Experimente aqui!
Pitão , 15 bytes
Muito obrigado a @Jakube por -1 byte
Experimente aqui.
Pitão , 16 bytes
Experimente aqui.
fonte
]
no primeiro código.ms_+Bm%d2d%hd2
R , 73 bytes
Graças a Giuseppe! Boa pegada.
Experimente online!
R , 78 bytes
Experimente online!
R , 82 bytes
Experimente online!
R , 110 bytes - saída para stdout
Experimente online!
R , 130 bytes - saída para um arquivo
Experimente online!
Escrevendo para um arquivo como eu não sei como encaixá-lo no console se
n==99
(veja o resultado aqui ).fonte
Pascal ,
181154 bytes27 bytes salvos graças a @ThePirateBay
Experimente online!
Unglofed
fonte
Retina , 25 bytes
Experimente online! Explicação: O primeiro estágio converte a entrada em uma sequência de zeros desse comprimento. O segundo estágio pega todos os prefixos dessa sequência (sem incluir a própria sequência) e prefixa um 1 para eles. O terceiro estágio alterna os bits em linhas alternativas.
fonte
05AB1E ,
242118 bytesExperimente online!
Edit: Bem, é o meu primeiro golfe 05AB1E, então não estou surpreso que as coisas possam ser jogadas. Editar histórico:
.∞
eû
), o que facilita as coisas muitoÈ
eÉ
, tornando2%
e2%_
muito mais curtoFN2%DN×Dr_sJIN>-úˆ}¯»
IF
->F
,)J
->J
baa
aaab
pode ser feito por.À
(rotativo) , mas também porr
(inversão) (mais curto)IFN2%DN×D.À_s)JIN>-úˆ}¯»
fonte
Perl 5 , 58 + 1 (-n) = 59 bytes
Experimente online!
# Perl 5 , 59 + 1 (-n) = 60 bytesExperimente online!
fonte
Mathematica, 90 bytes
fonte
SOGL V0.12 , 13 bytes
Experimente aqui!
fonte
Carvão , 18 bytes
Experimente online! Link é a versão detalhada do código. Explicação:
fonte
JavaScript,
140132 bytes (com formatação adequada)Experimente Online
fonte
A=Array
para salvar 8 bytes.A=Array;
iniciar a variávelA
na primeira chamada de matriz (ou seja,for(x of(A=Array)(n))
) que economiza 1 byte, 2) Substitua'\n'
por nova linha literal (use sotaques graves), 3) Você não precisa de parênteses(b+1)%2
porque é equivalente ab+1&1
.JavaScript (ES6) ,
7473716864 bytes-7 bytes por @Neil
Experimente online!
Função recursiva simples que gera as linhas uma a uma. Saídas como matriz de matriz de números.
Saídas como string formatada:
JavaScript (ES6) ,
122119118 bytesExperimente online!
fonte
(n%2+(i==n))%2
pode ser simplificado para(n+(i==n))%2
.1&n^i==n
pode funcionar, mas não testei.n--?...:[]
. (E você não precisa do;
no golfe código.)2*n+1
Pode sern-~n
, mas nunca me lembro com certeza.Haskell , 54 bytes
Compreensão direta da lista:
Experimente online!
fonte
J, 32 bytes
Experimente online!Esta é uma função anônima que retorna uma lista de valores em caixa.
Eu gosto de imaginar que a definição de função explícita salva bytes em virtude da remoção de caps e tal, mas provavelmente adiciona alguns bytes em comparação com uma resposta tácita.
Explicação
fonte
05AB1E , 11 bytes
Experimente online!
Explicação
fonte
J , 17 bytes
Experimente online!
Produz uma lista de matrizes in a box.
Explicação
fonte
Java 8,
121111109101 bytesMinha pontuação de bytes atual (101) também é uma linha do triângulo binário. :)
Explicação:
Experimente aqui.
fonte
GolfScript , 49 bytes
Experimente online!
fonte