问题标签 [esoteric-languages]

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 投票
2 回答
229 浏览

stack - 如何弹出堆栈中的第 N 个项目 [Befunge-93]

如果您有 befunge 程序321&,您将如何访问第一项(3)而不丢弃后两项?

该指令\允许一个人切换前两项,但这并没有让我更接近最后一项......

我正在使用的当前方法是使用p命令将整个堆栈写入程序存储器,以便到达最后一项。例如,

但是,我觉得这并不像它应该的那样优雅......没有技术将堆栈上的第一项弹出为 N,从堆栈中弹出第 N 个项并将其推到顶部?

(否是一个完全可以接受的答案)

0 投票
3 回答
437 浏览

programming-languages - 如何运行不同的深奥程序?

我在网上找了一份很酷的深奥语言列表。我将如何运行这些? http://listverse.com/2011/02/17/top-10-truly-bizarre-programming-languages/

显然,每种语言都有自己的程序,但我该如何运行呢?

0 投票
1 回答
103 浏览

esoteric-languages - subleq 困惑和理解

有人可以更好地向我解释 subleq 吗?我在看http://esolangs.org/wiki/Subleq

有例子:

第一条指令在地址 0 处从 7(地址 4)中减去 7(地址 3)。地址 4 的结果是 0,所以跳转到 6。从地址 6 开始是指令 3 4 0,它再次从现在的 0 中减去 7 并跳转回 0。这是一个执行序列(A 和 B 显示在减法之后)

我的第一个问题是地址 0 "3 4 6 A=7 B=0"?他们从哪里得到 7 个?是从前两个数字开始的吗?我认为这与减法有关:S

0 投票
2 回答
89 浏览

performance - 为什么 ><> (Fish) 中的这个程序运行一段时间后会这么慢?

深奥的编程1+:o语言><>(Fish)中的程序会随着时间的推移而变慢,我不知道为什么。它在 上减慢最多:,它复制堆栈顶部的项目,在 上减慢一些o,它打印出堆栈中顶部项目的相应字符。你可以在这里试试;只需确保用 0 初始化堆栈。它在移动设备上会减慢速度更快(来源:我的手机),以防您想检查更少的时间。

0 投票
1 回答
406 浏览

esoteric-languages - “复制堆栈上的顶部项目”在空白语言中是什么意思?

我正在尝试实现一个空白解释器来获得乐趣,目前我正在按照本教程学习它的语法。

语法看起来很简单,但我不明白“复制堆栈上的顶部项目”是什么意思。这意味着什么?这是否意味着获取堆栈顶部的值并将其保存到特殊寄存器中?

0 投票
1 回答
124 浏览

while-loop - 在brainfuck中将多个数字输入细胞的更好方法?

所以我试图让单元格保持这样的第一个单元格为空(0),第二个为 9*4,第二个为 9*10,第三个为 9*12,第四个为 9*13,和依此类推,直到最后一个正在使用的单元格有 9*15。也就是说,到目前为止,brainfuck 中的以下代码:

反正有没有压缩这段代码?也就是说,是否有正确的单元格保存有问题的数字但使用较少的字符来做到这一点?我想过使用嵌套循环,但我不确定如何构造这样的东西。我是这门语言的新手,我正在尝试对其进行测试,但我认为我想太多了。

0 投票
2 回答
619 浏览

arrays - 实施智能设计排序

这可能是一个轻浮的问题,所以请理解我可怜的灵魂。

在阅读了这篇关于智能设计排序 ( http://www.dangermouse.net/esoteric/intelligentdesignsort.html ) 的文章后,我开始怀疑这是否可能。

文章摘录说:

原始输入列表与其所在顺序完全相同的概率是 1/(n!)。这种可能性很小,说这是偶然发生的显然是荒谬的,所以它一定是由智能分拣机有意识地排列的。

让我们暂时忘记智能排序器,并考虑数组中随机出现的成员以某种方式排序的可能性。我们的算法应该在不改变数组结构的情况下确定模式。

有没有办法做到这一点?速度不是要求。

0 投票
1 回答
962 浏览

while-loop - 在brainfuck中高效实现while循环

我在为 codegolf.se 实现一个笨拙的汇编程序时遇到了麻烦。我设法将一个字符串加载到内存中,找到它的长度,打印字符串 n 次等,但我似乎不能只将非小写数字加载到内存中。因此,让我们采用以下循环来执行一些魔法。(哈希标记是调试标记。)

它从指针 512 开始,并将字符串作为 ascii 值写入 512 之后的点


现在,如果(无论出于何种原因)我希望去掉小写字符,它会在伪 BF 中看起来像这样。

现在我的问题是,如何在仅使用 512 右侧的空格作为存储并稍后清除它们的同时实现这样的 while 循环。

对于那些好奇的人,是我希望在 branfuck 中解决的问题。

0 投票
1 回答
664 浏览

math - “病态编程”指的是什么?

这个术语有标准用法吗?

来自维基百科

在计算机科学中,病理学在算法研究方面的含义略有不同。在这里,如果一个输入(或一组输入)导致算法的非典型行为,则称其为病态的

ScienceBlogs.com 有一个“病理编程”系列,我想知道这个术语是否在该作者的作品之外具有更广泛的含义。

0 投票
1 回答
124 浏览

algorithm - 深奥的编程和我的分析

最近遇到一个关于深奥编程语言的问题。有那种语言的工具。

所以我必须用这种语言编写一个程序,输入 2 个数字 a 和 b 并将它们放入 cell0 和 cell1,然后输出这两个数字的总和。还有一个额外的要求(我遇到了麻烦)是在这个过程之后应该有 3 个单元格,cell0 保存 a,cell1 保存 b,cell 2 保存 a+b。

这是我的分析:我认为找到将总和放入 cell3 并打印它的方法很容易,只需;>;<[->>+]>[->+]>:. 但是这样处理后,cell0 和 cell1 都将保持 0 而不是 a 和 b。所以我试图找到一种方法来使用上面的工具来实现这一点,我意识到给定工具,它就像一个电池,我只能将能量从一个电池转移到另一个电池,但我永远无法将能量从一个电池复制到另一个. 如果是这样,当我试图保留 cell0 和 cell1 时,我永远无法得到总和。

感谢我的问题下的@user3386109评论信息。我注意到有办法欺骗“能量平衡”。我们可以在循环中增加 2 个或更多单元格。所以我使用 5 个单元格并将第一个单元格和第二个单元格中的 a 和 b 转移到第 4 个和第 5 个单元格中,同时进行求和运算。所以我的算法会是这样的:

所以最后我的代码是:

但这是不对的,我检查了几次并找不到错误。有人帮我吗?谢谢!!!