Todos nós conhecemos, ou pelo menos ouvimos falar, de uma foda cerebral , uma das línguas esotéricas mais famosas e influentes. Enquanto hoje em dia a maioria das implementações usa uma fita infinita, o compilador original de Urban Müller tinha uma fita de 30000 células. Um fato pouco conhecido * é que na verdade existe um valor especial no final da fita, algo que quase nunca é interagido em um programa típico de foda cerebral.
Embora você possa imprimir esse valor com 29999 se >
a .
, brainfuck é conhecido por suas soluções curtas e concisas, então seu objetivo é imprimir esse valor com o número mínimo de caracteres.
*ficção
Regras:
- Uma atualização das instruções do cérebro:
+
/-
: Aumenta / diminui a célula atual, agrupando de 255 a 0 quando 255 é incrementado e vice-versa<
/>
: Mova o ponteiro para a esquerda / direita na fita.
: Imprime o valor da célula atual.[
: Pule para o correspondente]
se o valor na célula for 0]
: Pule para o correspondente[
se o valor na célula não for 0
- Nesse caso
,
(Get input) não faz nada, pois o compilador original deixa a célula inalterada no EOF, e esse programa não deve receber entrada. - A fita é inicialmente preenchida com todos os 0s, exceto a célula 30000, que contém um valor desconhecido
- O ponteiro começa na célula 1 e deve terminar na célula 30000, depois de impressa.
- As células à esquerda de 1 e à direita de 30000 têm um comportamento indefinido, portanto, as soluções não devem visitar essas células.
- Observe que o valor em 30000
épode ser um 0, portanto, simplesmente fazer um loop até atingir uma célula diferente de zero não funcionará. - Você deve imprimir apenas o valor na célula 30000
- A solução mais curta vence!
- O desempatador é o programa mais eficiente (é executado em menos etapas), seguido pelo tempo de envio mais rápido.
Dica: O Esolanging Fruit sugere usar https://copy.sh/brainfuck para testar seu código. As especificações são as descritas neste desafio, e você pode selecionar a abort
opção para que seu programa seja interrompido se ficar fora dos limites.
.
. Eu ganhei.