Brainfuck的挑战

我有任何挑战。 我必须写brainfuck代码。

对于给定的数字n,指定其最后一位数字。

入口

输入将只包含一行,其中只有一个整数n(1 <= n <= 2,000,000,000),后面跟着一个换行符' n'(ASCII 10)。

出口

输出必须精确地找到一个表示n的最后一位的整数。

例如我入口:32出口:2

例二:入口:231231132出口:2

这是我的尝试,但它不起作用:

+[>,]<.>++++++++++.

最后一个输入是换行符。 所以你必须返回两个记忆位置才能得到数字的最后一位数字。 也许你不必返回一个换行符,所以代码是

,[>,]<<.

不用对不起,真正的答案是

,[>,]<.

因为你的回答太过分了;)


根据解释,您可能必须自己逃避返回键。 考虑到返回键是ASCII: 10 ,你的代码应该看起来像这样:

>,----- -----[+++++ +++++>,----- -----]<.

细分:

>               | //first operation (just in case your interpreter does not
                    support a negative pointer index)
,----- -----    | //first entry if it's a return; you don't even get in the loop
[                
    +++++ +++++ | //if the value was not ASCII 10; you want the original value back
    >,          | //every next entry
    ----- ----- | //check again for the the return, 
                    you exit the loop only if the last entered value is 10
]
<.              | //your current pointer is 0; you go back to the last valid entry
                    and you display it
链接地址: http://www.djcxy.com/p/67873.html

上一篇: Brainfuck challenge

下一篇: What's wrong with brainfuck on ideone?