Arvorezinha – Brainfuck
Ola de novo!
Hoje fui desafiado a fazer a arvorezinha em brainfuck. Portanto aqui vai:
++++[>++++++++++<-]>++.>+++++++++++++.<<++[>.<-]>>.<<+++[>.<-]>>.<<++++[>.<-]>>.<<+++++[>.<-]>>.
Agora por blocos para gente normal entender:
Começa se no registo 0
++++ Define r0 a 4
[ - enquanto o registo actual não for 0, entra no ciclo
>++++++++++ anda para o registo 1 e soma-lhe 10
< volta para o registo anterior r0, e retira-lhe 1
] repete ate r0 = 0
>++ vai-se para o r1 e soma se 2 - e está o valor 42 (asterisco em ascii) no r1
. manda imprimir
>+++++++++++++ Move-se para o registo 3 e incrementa-se 13 nele (newline)
. manda imprimir
E com isto já temos "*\n" feito... Continuando
< <++ voltamos a r0 e incrementamos 2, r0 = 2
[ se r0 != 0 entro
>.< - move-se para o r1 e imprime *, volta para o r0 e decrementa
]>>. repete ate r0 igual a 0, e a seguir manda anda duas posicoes para a direita, vai parar a r3 e imprime uma newline.
Depois o resto é so repeticao
< <+++[>.< -]>>. tres asteriscos e um newline
< <++++[>.< -]>>. quatro asteriscos e um newline
< <+++++[>.< -]>>. cinco asteriscos e um newline
Eu acho que isto é uma maneira meio lame de fazer, porque os prints estão pré definidos. Tentei fazer o mesmo algoritmo que o do assembly, mas falhei miseravelmente. Ofereço um queijo a quem conseguir. Aproveita agora esta oportunidade de te tornares um homem de barba rija!!!
Podem testar o codigo neste Javascript Brainfuck Interpreter / Debugger online ou usar o magnifico Brainfuck developer.
lolol
e gajas????
epic win
ja criavas o padrao de arvorezinha no google code ou assim
Toma la uma versão 58% mais 'eficiente':
porra! e eu k só acreditava depois de ver... 8|
tesão!
AMO-TE!
só mesmo pa malucos: "calculadora" em bf (algoritmo da adição made in wikipedia... -.-)
++++++++[>+++++++++++. mostra Q
+++++++++.
----------. a
+++++++++++. l
----------------. espaco
++++++++++++++++. o
-------------------. outro espaço
++++++++++. p
++.r
---------.i
++++.m
--------.e
++++.i
+++++++++.r
---.o
-------------------. espaco
++++++++++++++++++.n
+++++++.u
--------.m
----------++++. ?
>++++++++++. newline
>
ler o 1º,>++++++[-]
ler o 2º,[-]<.
[...] Ora viva amigos! Para quem duvidou, aqui está a arvorezinha em Malbolge (provavelmente a linguagem de programação mais difícil de todos os tempos), versão lame, sem ciclos, só prints. Como a versão em brainfuck. [...]