Я попытался написать программу brainfuck, которая запрашивает у пользователя два числа (меньше 10) для вычисления произведения этих чисел. После вычисления он должен распечатать результат. Мой код выглядит следующим образом:Умножение в Brainf * ck
++++[>++++[>+++<-]<-] writing 48/0x30/'0' in cell(2)
,>,> reading two numbers in cell(0) and cell(1)
[<-<->>-] decrementing cell(0) and cell(1) by 48/0x30/'0'
<< go to cell(0)
[ muliplication loop
> go to cell(1)
[>+>+<<-] move cell(1) to cell(2) and cell(3)
>> go to cell(3)
[<<+>>-] move cell(3) back to cell(1)
<<<- decrement cell(0)
]
++++[>++++[>+++<-]<-] adding 48/0x30/'0' to cell(2)
>>. print result
Это дает мне очень странные результаты:
0 * 1 = 3
1 * 1 = 4
1 * 2 = 8
2 * 1 = 5
2 * 2 = :
и так далее.
Конечно, выход на самом деле выглядит следующим образом:
1
1
4
, но я хотел показать его более удобным для чтения здесь.