介绍
对于那些想知道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 = 0, len = this.length; i < len; i++) {chr = this.charCodeAt(i);hash = ((hash << 5) - hash) + chr; hash |= 0; }hash = Math.abs(hash);if ((hash).toString(16).length < 20) {for (var rand = 123; rand < 199; rand++) {hash = hash * rand;if ((hash).toString(16).length >= 20) { break; }}}return (hash).toString(16).substring(2, 12);};function placeHash() { var pretext = document.getElementById("inputhash").value; var resultinghash = pretext.hashCode(); document.getElementById("resulthash").innerHTML = 'Your hash: <span class="hashtext">' + resultinghash + "</span>";}
p {font-family: monospace;color: black;} .hashtext{color: red;font-weight:bold}
<div class="container"><p>Personal hash generator:<p><textarea id="inputhash" placeholder="Your submission" cols="40" rows="4"></textarea><br><textarea id="inputname" placeholder="Your name" cols="40" rows="1"></textarea><br><button class="hashbutton" onclick="placeHash()">Generate Hash!</button><br><p id="resulthash">Your hash:</p></div><!-- Created by Adnan -->
如何使用摘要?
- 首先,将解决方案粘贴到提交部分
- 其次,输入您的用户名(没有别的,这将在时限之后得到验证)
- 第三,按Generate Hash!获取您的个人哈希。
- 复制哈希并将其粘贴到提交中。
难题
拼图1(分数:3)
??
??? ?
??????????
@
输出(注意尾随空白):
1 2 3 4 5 6 7 8 9 10
拼图2(分数:3)
???? ?
??????????
?? ?
@
输出:
abcdefghijklmnopqrstuvwxyz
拼图3(得分:5)
?????????
????? ???
? ?
? ? ? ?
?
? ?
?????? ? ?
? ? ?
? ? @
??????? ?
? ?
???? ??
? ??
输出:
Hello World!
拼图4(分数:2)
??????@
输出(注意尾随空白):
123
拼图5(得分:5)
?
?????
???@?????
??????
?????????
输出:
Befunge
拼图6(得分:5)
? ? ?
?
??????????
?
?
???????? ??????????????
?????"floG edoC dna selzzuP gnimmargorP "??????
@
输出:
###################################
Programming Puzzles and Code Golf
###################################
拼图7(分数:3)
???? ?????
???????
@???????
输出:
012345678910
- 这是代码挑战,得分最高的人获胜!
- 如果是平局,则首先提交所有提交内容的人将获胜。
- 提交的最后一天是世界标准时间1月10日。之后,您将有2天的时间发布完整的解决方案,其中已包含哈希值。这些将被验证:)。
如何发布?
使用以下代码段发布您的提交:
#N solutions:
Puzzle 1: `[hash 1]`
Puzzle 2: `[hash 2]`
etc.
不必按顺序解决难题。所有程序均已在此处经过测试,并将用于验证。
祝好运!
?
用空格替换了尾随空格)?