Questions tagged «befunge»

1
翻译前奏曲
这是每周挑战2。主题:翻译 编写一个程序或函数,该程序或函数在Prelude中获取程序的源代码,并在Befunge-93中输出等效程序的代码。为了使程序等效,对于任何给定的输入,它都应产生与Prelude程序相同的输出,并且仅当Prelude程序停止时才停止。 输入语言:前奏 Python解释器: 显示代码段 #!/usr/bin/python import sys NUMERIC_OUTPUT = True NUMERIC_INPUT = True try: filename = sys.argv[1] except: print "Usage:", sys.argv[0], "<filename>" raise SystemExit try: inFile = file(filename) except: print "Error when opening", filename raise SystemExit # code is kept as a list of voices, each voice a string …

2
压缩Befunge程序
Befunge是一种二维深奥的编程语言。基本思想是将(一个字符)命令放置在二维网格上。控制流遍历网格,执行传递过来的命令,并在命中箭头(>^<v)时更改方向。命令是基于堆栈的;看到这个清单。另请参见http://esolangs.org/wiki/Befunge。 提供Befunge-98的规格。 问题 编写一个程序,将Befunge程序转换为更紧凑的表示形式。例如,以下程序打印0: > 0 v > @ . ^ < 在这种情况下,可以通过删除空格行来压缩它而无需更改程序的行为,从而得到 >0v >@. ^ < 更复杂的转换可以旋转或镜像命令序列,并消除不必要的控制流命令以压缩程序。例如,使用此程序: >12345v 6 v....7< . . . @ 您可能会将程序的结尾塞进洞里: >12345v >...@ 6 ^....7< 对于第一个示例,最紧凑的程序是 >0.@ 您可以使用任何转换,只要输出程序给出的结果相同即可。 输入程序 输入程序是有效的Befunge-98程序。 您可以假设输入程序是确定性的。也就是说,它不使用读取外部状态的命令:用户输入命令&和~,随机化器?以及自修改代码命令p和g。 您可以假设输入程序终止。 计分 这不是代码高尔夫,而是编写执行代码高尔夫的程序的问题。 输入是一组测试用例(满足上述输入限制的Befunge程序)。总分是测试案例的总分。 每个测试用例的得分 分数是输出程序中非空单元格的凸包的面积,其中每个单元格都视为一个正方形,其四个角为笛卡尔平面中的晶格点。例如, > v @ < 获得9.5分。 如果您的程序在特定输入上没有在合理的时间和内存中终止,则得分为输入程序的得分。(这是因为您可以简单地添加一个限时包装程序,如果您的程序没有及时终止,则该包装程序将不变地输出输入程序。) 如果用您的程序处理后,测试用例程序具有不同的结果(或无法终止),则分数为输入程序的分数加100分的罚款。

2
Befunge脑筋急转弯
介绍 对于那些想知道Befunge到底是什么的人,它是Chris Pressy在1993年提出的一种基于二维堆栈的语言。我在Befunge-93中做了7个需要解决的难题。这是一个实验性的挑战,但我认为值得一试:)。在Befunge-93中使用的所有命令的完整列表可以在此处找到。 怎么玩? 这项任务有点像没有警察的强盗。基本上是为了获得分数而破解提交内容。每个难题都包含问号。必须将其替换为range 32 - 127中包含空格的任何可打印ascii字符。请参见以下示例: ??????@ 鉴于输出必须为hi。经过一番困惑之后,我们可以发现解决方案是: "ih",,@ 但!您不提供解决方案。那是为了防止作弊。您无需发布解决方案,但可以发布hash。哈希是通过以下代码段生成的: String.prototype.hashCode = function() { var namevalue = document.getElementById("inputname").value; var namenumber = 123;for (var character = 0; character < namevalue.length; character++) {namenumber += namevalue.substring(0, 1).charCodeAt(0);}var hash = 123 + namenumber, i, chr, len;if (this.length === 0) {return 0;}for (i …

13
Befunge高尔夫技巧
您在Befunge打高尔夫球有哪些一般提示?我正在寻找可用于编码至少在某些方面特定于Befunge的高尔夫问题的想法(例如,“删除评论”不是答案)。请为每个答案发布一个提示。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.