Рубрика X-Puzzle#12

Иван Скляров

Xakep, номер #058, стр. 058-110-1

Sklyarov@real.xakep.ru

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

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

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

Ответ на пазл №1 Оптимизация «по самое не балуйся»

Возможно, кому-то это покажется странным, но код можно сократить до следующего:

n=A?A&63:0;

Комментарии: n = A-((A>>6)<<6) и n = A & 0x3F делают одно и то же (A&63), а n = (5*A*B)%4 всегда ноль.

Ответ на пазл №2 «Художества на HTML #2»

Японский флаг:

<body bgcolor=#000000>

<table bgcolor=#FFFFFF border=0 width=150 height=90 cellspacing=0 cellpadding=0>

<tr><th>

<font face=Webdings color=#FF0000 size=7> n </font>

</tr></th>

</table>

</body>

Турецкий флаг:

<body bgcolor=#000000>

<table bgcolor=#FF0000 border=0 width=150 height=90 cellspacing=0 cellpadding=0>

<tr><th>

<font face=Wingdings color=#FFFFFF size=7> Z </font>

</tr></th>

</table>

</body>

Израильский флаг:

<body bgcolor=#000000>

<table bgcolor=#FFFFFF border=0 width=150 cellspacing=0 cellpadding=0>

<tr><td height=10></tr></td>

<tr> <td bgcolor=#00008B height=10></tr></td>

<tr><th>

<font face=Wingdings color=#00008B size=7> Y </font>

</tr></th>

<tr><td bgcolor=#00008B height=10></tr></td>

<tr><td height=10></tr></td>

</table>

</body>

Ответ на пазл №3 «Двуязычная программа»

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

#include <stdio.h>

#include <stdlib.h>

#define $ /* */

#define ARGV argv

#define if($x) int main(int argc, char *argv[])

#define $start 1

#if PERL

sub atoi { $_[0] }

$ argc=@ARGV;

$ start=0;

$ x=1;

#endif

if($x)

{

int $ sum;

int $ i;

$ sum=0;

for ( $ i = $start; $ i < $ argc ; $ i++) {

$ sum += atoi ($ ARGV [$ i]);}

printf("%d\n", $ sum);

exit(0);

}

Ответ на пазл №4 «Хакерский ребус»

Билл Гейтс (Bill гей + тс-с!)

ПЕРВЫЙ ПАЗЛ «Mr. Smith»

Мистер Андерсон работал программистом в большой трансатлантической компании, которая выпускала на рынок различные клиент-серверные приложения. Никто в компании не догадывался, что мистер Андерсон ведет двойную жизнь: днем он программист в большой компании, а ночью – опасный хакер, известный под кличкой «Oen». Однако руководство компании стало подозревать мистера Андерсона в том, что он умышленно вносит в программный код ошибки, снижающие безопасность программных продуктов. В связи с чем в компанию был нанят специалист по безопасности экстра-класса мистер Смит, главной задачей которого стала проверка кода на безопасность. После первой же проверки мистер Смит нашел в коде мистера Андерсона потенциально опасную функцию:

Содержание  Вперед на стр. 058-110-2
загрузка...
Журнал Хакер #151Журнал Хакер #150Журнал Хакер #149Журнал Хакер #148Журнал Хакер #147Журнал Хакер #146Журнал Хакер #145Журнал Хакер #144Журнал Хакер #143Журнал Хакер #142Журнал Хакер #141Журнал Хакер #140Журнал Хакер #139Журнал Хакер #138Журнал Хакер #137Журнал Хакер #136Журнал Хакер #135Журнал Хакер #134Журнал Хакер #133Журнал Хакер #132Журнал Хакер #131Журнал Хакер #130Журнал Хакер #129Журнал Хакер #128Журнал Хакер #127Журнал Хакер #126Журнал Хакер #125Журнал Хакер #124Журнал Хакер #123Журнал Хакер #122Журнал Хакер #121Журнал Хакер #120Журнал Хакер #119Журнал Хакер #118Журнал Хакер #117Журнал Хакер #116Журнал Хакер #115Журнал Хакер #114Журнал Хакер #113Журнал Хакер #112Журнал Хакер #111Журнал Хакер #110Журнал Хакер #109Журнал Хакер #108Журнал Хакер #107Журнал Хакер #106Журнал Хакер #105Журнал Хакер #104Журнал Хакер #103Журнал Хакер #102Журнал Хакер #101Журнал Хакер #100Журнал Хакер #099Журнал Хакер #098Журнал Хакер #097Журнал Хакер #096Журнал Хакер #095Журнал Хакер #094Журнал Хакер #093Журнал Хакер #092Журнал Хакер #091Журнал Хакер #090Журнал Хакер #089Журнал Хакер #088Журнал Хакер #087Журнал Хакер #086Журнал Хакер #085Журнал Хакер #084Журнал Хакер #083Журнал Хакер #082Журнал Хакер #081Журнал Хакер #080Журнал Хакер #079Журнал Хакер #078Журнал Хакер #077Журнал Хакер #076Журнал Хакер #075Журнал Хакер #074Журнал Хакер #073Журнал Хакер #072Журнал Хакер #071Журнал Хакер #070Журнал Хакер #069Журнал Хакер #068Журнал Хакер #067Журнал Хакер #066Журнал Хакер #065Журнал Хакер #064Журнал Хакер #063Журнал Хакер #062Журнал Хакер #061Журнал Хакер #060Журнал Хакер #059Журнал Хакер #058Журнал Хакер #057Журнал Хакер #056Журнал Хакер #055Журнал Хакер #054Журнал Хакер #053Журнал Хакер #052Журнал Хакер #051Журнал Хакер #050Журнал Хакер #049Журнал Хакер #048Журнал Хакер #047Журнал Хакер #046Журнал Хакер #045Журнал Хакер #044Журнал Хакер #043Журнал Хакер #042Журнал Хакер #041Журнал Хакер #040Журнал Хакер #039Журнал Хакер #038Журнал Хакер #037Журнал Хакер #036Журнал Хакер #035Журнал Хакер #034Журнал Хакер #033Журнал Хакер #032Журнал Хакер #031Журнал Хакер #030Журнал Хакер #029Журнал Хакер #028Журнал Хакер #027Журнал Хакер #026Журнал Хакер #025Журнал Хакер #024Журнал Хакер #023Журнал Хакер #022Журнал Хакер #021Журнал Хакер #020Журнал Хакер #019Журнал Хакер #018Журнал Хакер #017Журнал Хакер #016Журнал Хакер #015Журнал Хакер #014Журнал Хакер #013Журнал Хакер #012Журнал Хакер #011Журнал Хакер #010Журнал Хакер #009Журнал Хакер #008Журнал Хакер #007Журнал Хакер #006Журнал Хакер #005Журнал Хакер #004Журнал Хакер #003Журнал Хакер #002Журнал Хакер #001