Re[6]: Задачи для собеседования.
От: Паблик Морозов  
Дата: 25.02.12 00:19
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>считаю, что под такую задачу можно искать или матерых хакеров, которые это делают в уме (ну в частности, на вопрос что сие значит (x & ( x + 1)) я ответил не раздумывая. меня даже плюс не смутил (в реальной жизни там минус), но это не потому, что у меня мозги работают с космической скоростью, а потому что этот шаблон я регулярно вижу на протяжении всей моей жизни.


У меня другое мнение. Вот спросят меня, "что делает (x & ( x + 1))?" Я ни разу не хакер и эту хрень первый раз в жизни вижу, но что я первым делом начну делать (если интернета нет под рукой)? А начну я выписывать цифекрки:

0 1|1   0 1 0|2    0 1 1|3    1 0 0|4    1 0 1|5    1 1 0|6     0 1 1 1|7     1 0 0 0|8     1 0 0 1|9      1 0 1 0|A       1 0 1 1 1|17
1 0|2   0 1 1|3    1 0 0|4    1 0 1|5    1 1 0|6    1 1 1|7     1 0 0 0|8     1 0 0 1|9     1 0 1 0|A      1 0 1 1|B       1 1 0 0 0|18
---     -----      -----      -----      -----      -----       -------       -------       -------        -------   ....  ---------
0 0|0   0 1 0|2    0 0 0|0    1 0 0|4    1 0 0|4    1 1 0|6     0 0 0 0|0     1 0 0 0|8     1 0 0 0|8      1 0 1 0|A       1 0 0 0 0|10


И так до просветления. И что я увижу? Увижу то, что четные цифры оно не трогает, а у нечетных убирает все единички до младшего нуля, что эквивалентно вычитанию чего-то там (ответ зависит от степени моего просветления). Ну или просто убирает все единички до младшего нуля, потому что у четных цифр он в самом начале, т.е. и убирать-то нечего. Это и будет моим ответом на вопрос. И тот, кто этот вопрос мне задаёт, по тому, насколько быстро у меня наступит просветление и насколько оно было глубоким, сможет сделать вывод о моих способностях. А если я по ночам Hacker's Delight читал под одеялом и отвечаю на этот вопрос по памяти, то мне его, наверное, нет особого смысла задавать, проще про коней спросить. Тут-то и можно будет оценить, смогу ли я разработать какую-нибудь систему для решения новой для себя задачи и насколько далеко смогу продвинуться.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.