Introdução
A curva de ponta de flecha de Sierpinski é uma curva que é o limite do triângulo de Sierpinski.
Começa assim:
_
/ \
Em seguida, cada linha é substituída por uma versão rotacionada da primeira:
_
/ \
\ /
_/ \_
Próximo:
_
/ \
\ /
_/ \_
/ \
\_ _/
_ \ / _
/ \_/ \_/ \
Sua tarefa
Dado um número n , imprima a n- ésima iteração da curva de ponta de seta de Sierpinski.
Você pode optar pelo índice 0 ou 1, mas especifique na sua resposta.
Você pode gerar uma imagem ou usar o Ascii Art no formato acima.
Você não pode usar embutidos para gerar essa curva.
Lembre-se, isso é código-golfe , então o código com o menor número de bytes vence.
u=.5;v=3^u/2;B=[u,v];C=[-u,v];A=C<0;
é 16 bytes mais curto :) Você também podeaxis off equal
salvar outros 5 bytes.Haskell + diagramas, 176 bytes
Cria um arquivo svg com fundo transparente chamado "a".
g 0
produz uma linha horizontal,g 1
é/¯\
.fonte
Diagrams
!plot()
para abrir uma janela.MSWLogo (Versão 6.5b), 102 bytes
Pega as duas funções
shapeL
,shapeR
fornecidas aqui e as funde adicionando um argumento extra:a
, que chama a função oposta quando negado.s
É definida uma função , que recebe várias iterações:n
(com base em 1), ângulo:a
, comprimento:l
. É recursivo, chamando uma iteração mais baixa de si mesmo com o ângulo:a
negado em duas instâncias para obter a orientação correta.rt :a
,lt :a
gire a tartaruga (triângulo cujo caminho é traçado) para a direita, deixada em:a
graus.fd :l
move a tartaruga para a frente em:l
etapas.A função deve ser chamada com
:a
igual a 60.Aqui,
repeat
é essencialmente um loop FOR, com contador embutidorepcount
.pu
epd
significa "caneta para cima" e "caneta para baixo", que impedem a tartaruga de desenhar enquanto sua posição está sendo definidasetxy
.Os desenhos de cada iteração foram chamados com comprimento
:l
igual apower 2 (7-repcount)
, que diminui exponencialmente; isso ocorre porque a definição usa o mesmo:l
na etapa recursiva, portanto, com fixo,:l
o tamanho geral da saída aumentará exponencialmente com:n
.fonte
60
na contagem de bytes?Python 2, 124 bytes
Baseado no código do artigo da Wikipedia.
A ordem 0 é uma linha reta.
fonte
Mathematica, 62 bytes
fonte
JavaScript (ES6), 180 bytes
Retorna uma matriz de strings. Conseguir o espaçamento correto foi a parte mais difícil! Versão de string pura para 205 bytes:
fonte