在Brainfuck中将数字乘以2?

MyN*_*han 1 brainfuck

给定一个任意长的数字,我该如何输出它的双数?只要结果<10,我就知道如何将小数字相乘,但是像32984335这样的较大整数怎么样,加倍这样的东西呢?我不知道处理这样的事情的正确方法.

R. *_*des 5

这是您需要实现的算法:

  1. 用0开始当前计数;
  2. 将当前计数乘以10:这可以通过加倍10次,然后将所有加号加在一起来实现;
  3. 读一个数字;
  4. 如果它为null则转到8;
  5. 将其转换为实际数字:这可以通过减去48来实现;
  6. 将其添加到当前计数;
  7. 继续到2;
  8. 复制当前计数;
  9. 将骰子加在一起;
  10. 用重复减法除以10; 保持商和余数;
  11. 抓住剩下的;
  12. 把它做成一个数字(加48);
  13. 打印出来;
  14. 抓住10的商数;
  15. 如果它不是零,转到10;
  16. 结束.

所有这些步骤都包含基本的脑卒中习语,因此应该易于实施.