• Онлайн: 2
Содержание
Играем с системами счисления
На разных страничках своего сайта я часто упоминал разные системы счисления. В основном, конечно, двоичную. Но было и про четверичную. Кратко упоминал про цифирную литорею, базирующуюся на древнерусской системе счисления – цифири. Этого всего мало и оно было неструктурировано. Поэтому я и решил сделать этот небольшой экскурс-исследование на тему «Каким образом можно использовать системы счисления в играх и головоломках».
Немного истории
Давным-давно, на заре истории, люди почти не умели считать. Один-два-много или один-два-три-много. В некоторых племенах, живущих сейчас, и оставшихся на первобытной стадии развития, именно так и считают до сих пор.
Когда-то и у нас слово «семь» означало приблизительно как "over9000", то есть прям много-много. Не зря оно осело в поговорках и устойчивых выражениях «у семи нянек дитя без глазу», «семь раз отмерь - один отрежь», «семь бед - один ответ», «седьмая вода на киселе», «семеро одного не ждут», «семеро по лавкам», «семь пядей во лбу» и множестве других.
Древние люди были не очень образованы, риторикой и прочими премудростями не владели, поэтому зачастую не могли сказать, о каком числе идёт речь. Но могли показать. В ход шли любые подручные материалы – нужное количество камешков, палочек, зарубок на палке или просто пальцев. Пальцы были всегда с собой и обычно в количестве 10 штук (если повезло). Поэтому со временем стали большие числа считать пятёрками (одна рука), десятками (две руки), некоторые даже двадцатками (по количеству пальцев на руках и ногах).
Долгое время число 40 (видимо, общее число пальцев у продавца и покупателя вместе взятых) оставалось пределом счёта, поэтому и считали сорокАми. А «сорок сороков» – это опять было синонимом «овердох..» «очень много».
Со временем понадобилось считать точнее и более большими числами (извините за тавтологию). Придумали название для десяти десятков (сто), десяти сотен (тысяча), десяти тысяч (тьма), дошли до миллиона, а потом понеслось и дальше.
Число пальцев на двух руках сыграло важную роль в том, что число 10 явилось основой счёта почти во всех цивилизациях. Было бы у нас на руках по 6 пальцев, с высокой вероятностью мы бы пользовались 12-ричной системой счисления (что на самом деле удобнее). Но раз уж 10 - значит 10. Хотя бывало и по-другому.
Ниже перечислены самые известные системы нумераций и счисления, которые использовало человечество:
- Древнегреческая нумерация
- Египетская система счисления
- Вавилонская система счисления
- Арабская система счисления
- Римская система счисления
- Славянская система счисления
- Ясачная грамота
- Система счисления Майя
- Системы счисления Китая
Некоторые современные популярные системы счисления:
- Двоичная система счисления
- Троичная система счисления
- Восьмеричная система счисления
- Десятичная система счисления
- Двоично-десятичный код, BCD
- Шестнадцатеричная система счисления
Конвертер из любой системы в любую систему
…
А теперь играемся
Итак, нам нужно придумать, каким образом использовать свойства систем счисления для создания интересных задачек и головоломок.
Пока мне видится несколько подходов:
- прямое использование редких систем счисления;
- неочевидные переводы чисел из одной системы в другую;
- составление слов из буквенных чисел систем счисления;
- комбинирование разных подходов
Приведу пару примеров.
Москва
Играем мы в какую-то игру, по дороге попадается такая картинка:
Ну, порадовались мы и пошли дальше. А потом натыкаемся на такое:
Ну это очень похоже на упоминаемую выше «цифирь», хотя и не очень соответствует тогдашним правилам составления чисел. Чтобы «расшифровать», подставляем вместо букв числовые значения:
и получаем: москва = 40+70+200+20+2+1 = 333. Прикольно, правда? :)
MIX+CD
Или, например, проходим мы веболомку и видим такую картинку:
Если сразу не придёт в голову, что это римские числа, то на это должны навести пара неявных подсказок из CSS. Во-первых, это написано довольно популярным шрифтом «Times New Roman», а во-вторых, стиль шрифта – курсив, то есть «Italic».
Выходит, это обычное арифметическое выражение, записанное римскими числами, и надо посчитать его результат, чтобы получить ответ. M=1000, I=1, X=10, MIX = 1000+(-1+10) = 1009. C - это 100, D – это 500, CD = -100+500 = 400. Итого: MIX+CD = 1009+400 = 1409. Ну и для кайфа записать ответ римскими же числами. В результате получим: MIX+CD=MCDIX.
Кружка кофе
Допустим, согласно задаче, нам нужно включить на панели несколько кнопок-тумблеров, чтобы что-то открыть. Кнопок аж 24 штуки. Перебирать все возможные комбинации жизни не хватит. Но у нас есть подсказка – кружка кофе с надписью HEX2BIN. Это значит, что нужно взять какое-то 16-ричное число и перевести его в двоичную запись. Также мы знаем, что тот, кто сидел за этим столом, очень любит кофе.
«Легко увидеть, что…» буквы слова КОФЕ, записанного латинскими буквами COFFEE уж очень напоминают шестнадцатеричные цифры :) COFFEE → C0FFEE16 → 110000 001111 111111 1011102. И мы легко получили нужную нам последовательность.
Разные слова из шестнадцатеричных цифр
На компьютере очень часто применяются шестнадцатеричные коды. Их можно увидеть, просматривая содержимое исполняемых файлов, работая с цветами в вебе или графических программах, да много где ещё. Давайте подумаем, какие слова можно составить из шестнадцатеричных цифр. Вы уже видели, как получилось C0FFEE. А можно ли составить ещё слова? А предложение из таких слов?
В шестнадцатеричной системе счисления есть следующие цифры: 0123456789ABCDEF. Составлять слова из десятичных цифр сложновато, а букв вроде бы совсем мало. Но если привлечь технологию LEET, то нам уже будет доступно гораздо большее число «букв». Потому что некоторые цифры напоминают некоторые буквы. Например, вот так:
- G = 6 = 9
- I = 1
- L = l = 1
- O = 0
- S = 5
- T = 7
- Z = 2
Итог, у нас получается вот такой набор букв, из которых можно составить свой словарь, а потом уже подумать, какие из этих слов нас могут заинтересовать, чтобы сделать из них задачку:
- A B C D E F G I L O S T Z
13 букв, 4 гласные – довольно хороший наборчик. Например, из этого набора можно составить более 2000 английских слов, даже можно одно 10-буквенное: decalogist (DECAl09157). Но нам могут быть более интересны слова покороче, например из 6 букв:
- sizeof zodiac adidas doodle bobcat tabaco cobalt collab baffle biface fabled blazed babels battle bladed labels tables gabled albedo cables
- 512E0F 20D1AC AD1DA5 D00D1E B0BCA7 7ABAC0 C0BA17 C011AB BAFF1E B1FACE FAB1ED B1A2ED BABE15 BA771E B1ADED 1ABE15 7AB1E5 6AB1ED A1BED0 CAB1E5
А почему из шести? Потому что если приписать к ним спереди значок #, то получим цвет в формате RGB:
- #512E0F #20D1AC #AD1DA5 #D00D1E #B0BCA7 #7ABAC0 #C0BA17 #C011AB #BAFF1E #B1FACE #FAB1ED #B1A2ED #BABE15 #BA771E #B1ADED #1ABE15 #7AB1E5 #6AB1ED #A1BED0 #CAB1E5






