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