Brainfuck.怎么检查回文?

问题是使用Brainfuck检查序列是否是回文序列.

输入是一个数字序列

输出0如果不是palindorme,否则为1.

我有一个想法:
说,我们有sequance 1 2 3 2 1.我们可以在变量中记住我们数组中的第一个单元格(使用’!’操作),

>然后将1更改为0(使用操作’0’执行此操作),数组将为0 2 3 2 1,
>然后我们到阵列的末尾,直到我们遇到0(使用
‘> [>]’),
>然后我们从变量中获取数字并获得sequance 0 2 3 2 1 1.
>下一步应该是比较两个最后的数字,如果它们相等则继续算法从开始做其他事情……

我不知道如何实施最后一步.

最佳答案 如果我不写整个程序在brainfuck,请原谅,

这是主要的想法:

>读取输入(指针后面应该是最后一个字符)
>记住性格
>将值设置为0
>转到第一个[<]
>与记忆的角色比较(见Brainfuck compare 2 numbers as greater than or less than)
>如果不相等,请打印1
>如果下一个(>)单元格数组为0,则打印0
>移动指向结束[>]的指针
>回到第2步

点赞