Печатать число в мозгах?

Я искал какое-то время, но не нашел ничего, что могло бы мне помочь.

Допустим, первая ячейка (или значение и т. Д.) Равна 165. Как напечатать «165»?

Моя идея заключалась в том, чтобы разрезать число на отдельные части: 1,6 и 5. Распечатать их не составит труда.

Примечание: я не хочу просто печатать «165». Я хочу напечатать значение первой ячейки. Неважно, 165, 255, 0, 1 или что-то еще.


person Lars    schedule 24.09.2012    source источник


Ответы (2)


используйте известную процедуру по модулю (вам поможет http://esolangs.org/wiki/brainfuck_algorithms)

>+++++++++++[-<+++++++++++++++>] # initialize 165 at first cell
>++++++++++<<[->+>-[>+>>]>[+[-<+>]>+>>]<<<<<<]>>[-]>>>++++++++++<[->-[>+>>]>[+[-
<+>]>+>>]<<<<<]>[-]>>[>++++++[-<++++++++>]<.<<+>+>[-]]<[<[->-<]++++++[->++++++++
<]>.[-]]<<++++++[-<++++++++>]<.[-]<<[-<+>]
person itchyny    schedule 19.12.2012
comment
+1 за ссылку. Но эта функция работает только для трехзначных номеров. - person Thierry J.; 21.03.2014

Я создал простой язык, который компилируется в мозг, который можно найти здесь: http://code.google.com/p/brainfuck-compiler. Есть компилятор для языка, реализованный на java.

Я использую следующую функцию на этом языке для вывода числа. Может быть, вы сможете проанализировать сгенерированный код и посмотреть, может ли он вам что-нибудь пригодиться. Одно слово предупреждения, однако, это действительно создает небольшое избыточное копирование вокруг ячеек (никогда не удосужился оптимизировать это). В любом случае, вот пример программы и код BF, который она генерирует. (обратите внимание, что отступы ДОЛЖНЫ быть табуляцией на моем языке)

declare n, 165
declare digits
while n
    push n % 10
    digits = digits + 1
    n = n / 10
if digits
    while digits
        out pop + 48
        digits = digits - 1
else
    outs "0"

А вот сгенерированный для этого код:

>>>>>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++[<+>-]<[>>+>+<<<-]>>>[<<<+>>>-]<[[-]<<[>>>+>+<<<<-]>>>>[<<<<+>>>>-
]++++++++++<[>>+>+<<<-]>>>[<<<+>>>-]<[>+<-]>[<<[>>>+>+<<<<-]>>>>[<<<<+>>>>-]<[>+
<<-[>>[-]>+<<<-]>>>[<<<+>>>-]<[<-[<<->>[-]]+>-]<-]<<+>]<[>>+<<-]>>[<<<[>+>+<<-]>
>[<<+>>-]>-]<<[<<->>-]<[-]<[>>>>>>>>+<<<<<<<<-]>>>>>>>>>[>>]+[<<]>[>[>>]<+<[<<]>
-]<<<<<<<<<<[>>+>+<<<-]>>>[<<<+>>>-]+[<+>-]<<<[-]>>[<<+>>-]<<<[>>>+>+<<<<-]>>>>[
<<<<+>>>>-]++++++++++<[>>+<<-]>>[<[>>+>+<<<-]>>>[<<<+>>>-]<[>+<<-[>>[-]>+<<<-]>>
>[<<<+>>>-]<[<-[<<<->>>[-]]+>-]<-]<<<+>>]<[-]<<<<[-]>>>[<<<+>>>-]<<<[>>>+>+<<<<-
]>>>>[<<<<+>>>>-]<[<+>-]<]<[>+>+<<-]>>[<<+>>-]<[>+<[-]]+>[<[-]<[>>>+>+<<<<-]>>>>
[<<<<+>>>>-]<[[-]>>>>>>>>[>>]<[<[<<]<<<<<+>>>>>>>[>>]<-]<-<<[<<]<<<<<>++++++++++
++++++++++++++++++++++++++++++++++++++[<+>-]<.[-]<<<<[>>>>+>+<<<<<-]>>>>>[<<<<<+
>>>>>-]+[<->-]<<<<<[-]>>>>[<<<<+>>>>-]<<<<[>>>>+>+<<<<<-]>>>>>[<<<<<+>>>>>-]<[<+
>-]<]<[-]]<[>>++++++[<++++++++>-]<.[-]<[-]]<[-]<[-]>>>>>>>>>>>>[>[-]>]<<[-<<]<<<
<<<<<<<<<<<<<<[-]<[-]
person Cedric Mamo    schedule 27.11.2012
comment
Вы когда-нибудь переносили проект на GitHub? - person 000000000000000000000; 04.10.2020
comment
Не совсем. Давно заброшен. Я заключил пари с моим другом, чтобы как-нибудь поиграть в мозги. Я сделал этот компилятор, написал игру, выиграл пари и практически отказался от нее. - person Cedric Mamo; 04.10.2020