问题标签 [brainfuck]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2895 浏览

if-statement - 在 Brainfuck 中创建 if(x==y) 语句

所以我正在开发一个读取文件然后再次输出的程序,但是我无法让程序在文件末尾停止输入。我希望它停在一个特定的字符上,比如 '0' 或 '$' 或任何其他字符,因为我的 Brainf 解释器无法将一个字符 NULL 读入。这是到目前为止的代码:

问题开始于[>,]输入永远不会是 NULL 这个循环永远不会结束。

那么如何插入一个 if 语句来终止这个循环,如果它到达一个预先指定的结束字符呢?

0 投票
1 回答
288 浏览

brainfuck - ideone上的brainfuck有什么问题?

显然,我对 Brainfuck 的理解有问题,或者 ideone.com 上的 bf 解释器有问题。

通过输入简单的代码,.,.(读取两个字符并打印它们),我得到一个错误 "bff: out of memory (871638280)" 。为什么我会得到这个?

注意:真正的问题是我正在尝试解决 SPOJ 上的问题,而我在互联网上找到的一些适用于 Brainfuck 解释器的代码在 SPOJ 和 ideone.com 上不起作用。

0 投票
1 回答
464 浏览

square-bracket - 我不明白方括号的效果

我刚开始学习brainfuck,我只是在你好世界的例子中。我有一个问题,方括号是用来做什么的?

例子:

这是程序“hello world”。我不明白为什么有 [ ] 我明白-+但我在某处读到大括号是:

但即使我有这些信息,我也不明白为什么会有这个。

我精通 php/C/POSIX/java,但在这里我不明白这一点。

0 投票
3 回答
780 浏览

goto - Brainf 中的 GOTO 指令***

有一个bf 的扩展版本,它有一条goto指令,?.

我知道,理论上,应该可以在 bf 的经典 8 指令版本中模拟 goto。我怎么能在实践中做到这一点?是否有现有的 bf goto 模式或算法?有没有办法将 goto?指令转换为没有 goto 指令的 bf 版本?

0 投票
1 回答
681 浏览

comments - 如何在 Brainfuck 中编写包含句点 (.) 的“评论”?

有没有办法在 Brainfuck 中进行包含句点('.')的评论?

我知道我基本上可以使用不是命令之一的每个字符,并且它被忽略,但我想在文件顶部的注释中放置一个版本号,其中包含一个句点。

0 投票
2 回答
177 浏览

perl - 为什么我在这个brainfuck 程序中出现Perl 错误?

当我运行以下 Brainfuck 程序()...

...通过我使用的解释器(一个用 Perl 编写的小解释器),它并没有做它应该做的事情(“你会发现它永远循环并打印出每个字符,从空格 (32) 开始,以 ASCIIbetical order"),而是打印出来,循环:

是的,代码包含冗余。它是由 Haskell 自动生成的。

0 投票
2 回答
267 浏览

regex - 使用 grep 查找奇数次出现和交替构造

我必须使用 grep 在一个包含 300 000 行代码的文件中搜索几个结构。

第一个问题

我需要找到类似下面第一个代码的代码,我正在寻找交替的 + - 结构,其他字符被视为分隔符,+-+ 或 -+- 也是正确的。我们在 ] 之后开始搜索,如下例所示

第二个问题

我需要找到像下面的第一个代码这样的代码,我正在寻找奇数的出现次数 - 在连续的一对 <> 和一个空的 <> 之间被视为偶数,所以不正确。

请注意,只允许使用 grep,我们可能不会使用我首先使用的文本编辑器。

0 投票
1 回答
197 浏览

javascript - 用 JavaScript 实现 Brainf*ck 循环

i指令指针和ptr数据指针也是如此。我正在努力解决这个问题:

[ - 如果数据指针处的字节为零,则不将指令指针向前移动到下一个命令,而是将其向前跳转到匹配的 ] 命令之后的命令。

] - 如果数据指针处的字节非零,则不将指令指针向前移动到下一个命令,而是将其跳回到匹配的 [ 命令之后的命令。

一切正常,但尝试使用循环的 Hello World 示例会产生错误的输出,[并且]在某处搞砸了。

关于如何修复循环的任何建议?

编辑

以下是修改后if的 s 以及建议的嵌套处理程序,它现在可以正确执行 Hello World 示例。

0 投票
2 回答
1049 浏览

brainfuck - Brainfuck中的数字总和

我想知道是否可以仅用代码开头的数字 k 来计算 Brainfuck 中 1+2+3+...+k 的总和?

例如,是否可以像这样执行 1+2+3:

+++>(这里的代码创建一个两个加上三个,创建一个并添加它)

因为我可以这样做:+++>++>+[<<+>>-]<[<+>-]<但是如果 k=10000 我该怎么做呢?

0 投票
1 回答
2279 浏览

algorithm - Brainfuck 中的 Divmod 算法

有人可以向我解释这段代码吗?我明白它的作用,但我不明白它是如何工作的。