Sua missão hoje é criar um vórtice com um único parâmetro.
Este parâmetro determina o comprimento de cada braço em caracteres.
Cada "camada" de cada braço contém mais um caractere que o anterior.
Aqui está como o vórtice ficará, considerando o comprimento do braço:
0:
#
1:
#
###
#
2:
#
# #
###
# #
#
3:
## #
# #
###
# #
# ##
4:
# #
## #
# #
###
# #
# ##
# #
10:
#
#
#
#
#
#### #
### #
## #
# #
###
# #
# ##
# ###
# ####
#
#
#
#
#
Aplicam-se brechas padrão, espaço em branco à direita opcional, qualquer caractere não-espaço em branco no ASCII pode substituir "#".
Isso é código-golfe, então a resposta mais curta em bytes vence.
Respostas:
MATL , 60 bytes
Experimente online! Ou verifique os casos de teste: 0 , 1 , 2 , 3 , 4 , 10 .
Isso acabou sendo mais engraçado do que eu esperava. Porém, explicar será mais difícil ...
fonte
Gelatina , 48 bytes
Experimente online!
(Deixe tudo mais quadrado, substituindo a final
Y
porG
, adicionando um espaço entre cada coluna).Como?
Constrói uma lista de
#
coordenadas de um braço em relação ao centro. Transforma isso nas coordenadas dos quatro braços no canto superior esquerdo e adiciona a coordenada central. Cria uma tabela de todas as coordenadas no espaço e define os braços#
e o espaço parae une as linhas com novas linhas.
fonte
Mathematica
139172 BytesA idéia é criar um único braço com uma função -
{⌊.5+.5(-7+8#)^.5⌋,#-1}
que cospe o índice de cada elemento do braço, assumindo que o elemento do meio tenha índice (0,0). Ninguém entendeu ainda, mas suspeito que essa idéia resultaria em uma resposta vencedora em um idioma melhor para o golfe. Então eu giro o braço através de múltiplos de 90 graus, re-indexo e construo a matriz.SparseArray
parecia a escolha óbvia para a construção da matriz, mas poderia ter sido comBoxMatrix
eReplacePart
.Ungolfed (codificado para comprimento do braço = 3,
%
significa saída anterior):Uso% @ 4
Como aprendi que a saída deve ser pura ASCII sem espaçamento ou formatação extra, o código precisa ficar um pouco mais longo (172 bytes):
fonte
Carvão , 30 bytes
Explicação
Experimente online!
fonte
Trim
parece funcionar Golfier:NθFθ⁺¶#×#ιJ⁰¦⁰Tθ⁺¹θ#⟲O↖²⁴⁶
(⁺¹
é uma solução porqueT⁰¦⁰
não funciona por algum motivo e.⊕
não existia naquela época.)