Вступ
Для тих, хто цікавиться, що саме Befunge , це двовимірна мова на стеці, зроблена в 1993 році Крісом Прессі. Я зробив 7 тизерів для мозку, які потрібно вирішити в Befunge-93 . Це досить експериментальний виклик, але я подумав, що варто це зняти :). Повний список всіх команд, які використовуються в Befunge-93, можна знайти тут .
Як грати?
Завдання трохи схоже на поліцейських-грабіжників без поліцейських. Це в основному зламання подань, щоб отримати бали. Кожна головоломка містить знаки запитання. Вони повинні бути замінені будь-яким символом для друку ascii в діапазоні 32 - 127
, що включає пробіл. Дивіться наступний приклад:
??????@
З огляду на те, що вихід повинен бути hi
. Після деяких спантеличених, ми можемо з'ясувати, що рішення було таким:
"ih",,@
Але! Ви не даєте рішення. Тобто для запобігання обману. Ви не розміщуєте рішення, але хеш . Геш генерується за допомогою наступного фрагмента:
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 -->
Як користуватися фрагментом?
- Спочатку вставте розчин у розділ подання
- По-друге, введіть своє ім’я користувача (нічого іншого, це фактично буде підтверджено після закінчення строку)
- По-третє, натисніть Створити хеш! щоб отримати ваш особистий хеш.
- Скопіюйте та вставте хеш у свою заявку.
Загадки
Головоломка 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
- Це кодовий виклик , перемагає людина з найбільшою кількістю балів!
- У разі зрівноваження перемагає особа, яка подала всі подання першими.
- Останній день для подання є 10 січня UTC . Після цього у вас є 2 дні, щоб опублікувати повне рішення з уже включеними хешами. Це будуть перевірені :).
Як розмістити повідомлення?
Використовуйте такий фрагмент, щоб опублікувати подання:
#N solutions:
Puzzle 1: `[hash 1]`
Puzzle 2: `[hash 2]`
etc.
Розгадувати загадки не потрібно по порядку. Усі програми були протестовані тут і будуть використовуватися для перевірки.
Удачі!
?
із пробілів пробілами)?