Escreva um programa de cérebro com até 256 caracteres que execute o máximo de etapas possível, mas não faça um loop infinito. O programa pode não receber nenhuma entrada.
Mais especificamente:
- Suponha um número infinito de células à direita.
- A
<
quando na célula mais à esquerda não faz nada. - A
-
quando o valor da célula é zero, define a célula como255
. - Todas as instruções
+-<>.
contam como uma etapa quando executadas. - Quando um
[
ou]
é encontrado, conta como uma etapa. No entanto, se a condição for verdadeira e fluxo de controle salta, o correspondente]
ou[
se não outra vez conta como um passo. - A solução que executa mais etapas vence.
- Se houver algum tipo de padrão em sua solução, é recomendável atribuir uma função para quantas etapas um programa semelhante
n
levaria, mas não obrigatório. - Para contar as instruções, você pode usar este intérprete modificado :
Exemplo:
++[-]
As instruções encontradas são ++[-]-]
e o programa foi executado por 7 etapas.
float
ou double
primitiva usada para a computação cotidiana em geral. (Nesse ponto, o computador é na maior parte apenas manipulando cordas de que representam a equação)