Рубрика X-Puzzle

Иван Скляров

Xakep, номер #063, стр. 063-158-1

(Sklyarov@real.xakep.ru)

«ПРОЙДИСЬ ДЕБАГГЕРОМ ПО СВОИМ МОЗГАМ!»

Не стесняйся присылать мне свои ответы, даже если ты смог ответить всего на один пазл, я с интересом почитаю твои оригинальные решения. Ну, а имена героев, которые первыми правильно ответят на все вопросы, конечно же, будут опубликованы в журнале, чем прославятся на всю Россию (и не только) и навечно войдут в историю Х. Приз за нами не заржавеет ;).

Но помни: в большинстве случаев вариант ответа засчитывается как правильный, только если к нему приложено подробное и ВЕРНОЕ объяснение, почему выбран именно этот вариант, а не какой-либо другой.

ОТВЕТЫ К ПРЕДЫДУЩЕМУ ВЫПУСКУ X-PUZZLE

Ответ на пазл №1 «Хитрый байтик»

Задача проста для тех, кто хоть немного умеет работать с отладчиком. Нужно исправить десятый байт 41h на 59h, т.е. изменить команду "inc cx" на "pop cx" (естественно, это может быть не единственный вариант). Вот изначальная com-программа на ассемблере (MASM):

CSEG segment

assume CS:CSEG,DS:CSEG,ES:CSEG,SS:CSEG

org 100h

Begin:

mov cx,3

Label1:

call Procedure1

loop Label1

push ax

inc cx; эту команду нужно исправить на pop cx

inc cx

inc cx

Label2:

call Procedure2

loop Label2

int 20h

Message db "Cool Hacker!",0Dh,0Ah,'$'

Procedure1 proc

add ax, 1

ret

Procedure1 endp

Procedure2 proc

mov ah, 9

mov dx, offset Message

int 21h

ret

Procedure2 endp

CSEG ends

end Begin

Ответ на пазл №2 «Инопланетный калькулятор»

Ответ будет следующим: 2+3=11.

Калькулятор считает в четверичной системе счисления, т. е. все числа представлены только четырьмя цифрами: 0, 1, 2, 3 (11 в четверичной системе соответствует 5 в dec).

Ответ на пазл №3 «Бредогенератор»

Начало последовательности будет таким: 01123. Данная последовательность образована числами Фиббоначи (каждое последующее число этой последовательности образуется суммой двух предыдущих), записанными без пробелов, т.е. 0 1 1 2 3 5 8 13 21 34 55 89 144 233...

ПЕРВЫЙ ПАЗЛ «Для самых маленьких»

Каким известным хакерским прогам (названия) принадлежат следующие логотипы?

ВТОРОЙ ПАЗЛ «Как же это расшифровывается?»

Расшифровать:

<kby, jgznm z pf,sk gthtrk.xbnm hfcrkflre rkfdbfnehs

ТРЕТИЙ ПАЗЛ «Кодерская задачка»

Составить программу, которая решала бы уравнение вида: S=x/16, где x - задается пользователем. Единственное условие - в коде нельзя использовать цифры (кроме нуля) и знаки: *, /, -, , +. Писать можно на любом языке программирования, кроме низкоуровневых (ассемблера), также в программе нельзя использовать ассемблерные вставки. Мой вариант будет на Сях.

ЧЕТВЕРТЫЙ ПАЗЛ «Пути в хакерство»

Сколькими способами, продвигаясь от буквы к букве, можно прочитать слово ХАКЕРСТВО? На рисунке красной линией показан пример маршрута.

Кто составит программу, которая перебором подсчитает все возможные пути, получит дополнительный кусочек сахара.

Правильные ответы смотри в следующем номере. Если хочешь получить приз, присылай свои ответы до 1 апреля. До встречи!

На прошлый выпуск X-Puzzle пришли ответы от 74999 читателей... только один пАдонок схалявил. Блин, так это же я был! Короче, решил я сделать все по-честному, можно даже сказать по понятиям, а именно отобрать через рандом трех победителей.

Содержание  Вперед на стр. 063-158-2
ttfb: 5.1748752593994 ms