Giới thiệu
Đối với những người tự hỏi Befunge chính xác là gì, đó là một ngôn ngữ dựa trên ngăn xếp hai chiều được thực hiện vào năm 1993 bởi Chris Pressy. Tôi đã thực hiện 7 lời trêu ghẹo não cần được giải quyết trong Befunge-93 . Đây là một thử thách khá thử nghiệm, nhưng tôi nghĩ nó đáng để thử :). Một danh sách đầy đủ của tất cả các lệnh được sử dụng trong Befunge-93 có thể được tìm thấy ở đây .
Chơi như thế nào?
Nhiệm vụ này hơi giống một cảnh sát và kẻ cướp mà không có cảnh sát. Về cơ bản, nó chỉ cần bẻ khóa để có được điểm. Mỗi câu đố chứa các dấu hỏi. Chúng phải được thay thế bằng bất kỳ ký tự ascii có thể in nào trong phạm vi 32 - 127
, bao gồm khoảng trắng. Xem ví dụ sau:
??????@
Cho là đầu ra phải được hi
. Sau một số khó hiểu, chúng ta có thể tìm ra giải pháp là:
"ih",,@
Nhưng! Bạn không đưa ra giải pháp. Đó là để ngăn chặn gian lận. Bạn không đăng giải pháp, nhưng băm . Hàm băm được tạo với đoạn mã sau:
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 -->
Làm thế nào để sử dụng đoạn trích?
- Đầu tiên, dán giải pháp vào phần trình
- Thứ hai, nhập tên người dùng của bạn (không có gì khác, điều này thực sự sẽ được xác minh sau thời gian giới hạn)
- Thứ ba, nhấn Tạo Hash! để có được băm cá nhân của bạn .
- Sao chép và dán băm vào trình của bạn.
Các câu đố
Câu đố 1 (Điểm: 3)
??
??? ?
??????????
@
Đầu ra (lưu ý khoảng trắng theo sau):
1 2 3 4 5 6 7 8 9 10
Câu đố 2 (Điểm: 3)
???? ?
??????????
?? ?
@
Đầu ra:
abcdefghijklmnopqrstuvwxyz
Câu đố 3 (Điểm: 5)
?????????
????? ???
? ?
? ? ? ?
?
? ?
?????? ? ?
? ? ?
? ? @
??????? ?
? ?
???? ??
? ??
Đầu ra:
Hello World!
Câu đố 4 (Điểm: 2)
??????@
Đầu ra (lưu ý khoảng trắng theo sau):
123
Câu đố 5 (Điểm: 5)
?
?????
???@?????
??????
?????????
Đầu ra:
Befunge
Câu đố 6 (Điểm: 5)
? ? ?
?
??????????
?
?
???????? ??????????????
?????"floG edoC dna selzzuP gnimmargorP "??????
@
Đầu ra:
###################################
Programming Puzzles and Code Golf
###################################
Câu đố 7 (Điểm: 3)
???? ?????
???????
@???????
Đầu ra:
012345678910
- Đây là thử thách mã , người có nhiều điểm nhất sẽ thắng!
- Trong trường hợp hòa, người nộp tất cả các bài nộp trước sẽ thắng.
- Ngày cuối cùng để nộp là ngày 10 tháng 1 UTC . Sau đó, bạn có 2 ngày để đăng giải pháp đầy đủ, với các băm đã được bao gồm. Những điều này sẽ được xác minh :).
Làm thế nào để gửi bài?
Sử dụng đoạn mã sau để gửi bài đăng của bạn:
#N solutions:
Puzzle 1: `[hash 1]`
Puzzle 2: `[hash 2]`
etc.
Không cần thiết phải giải các câu đố theo thứ tự. Tất cả các chương trình đã được thử nghiệm ở đây và sẽ được sử dụng để xác minh.
Chúc may mắn!
?
bằng dấu cách)?