Quiz

Oct 08, 2010 02:10

a = ((((a/(a-(a&(a-1)))+1)/((a/(a-(a&(a-1)))+1)-((a/(a-(a&(a-1)))+1)&(a/(a-(a&(a-1)))))))*(a-(a&(a-1)))*2+1)*(((a/(a-(a&(a-1)))+1)-((a/(a-(a&(a-1)))+1)&(a/(a-(a&(a-1))))))/2))-1;

Внимание, вопрос: что делает эта строчка кода?

P.S. Нет, она реально делает что-то осмысленное и весьма полезное. :)

informatics

Leave a comment

Comments 19

xcept_dot_ion October 7 2010, 23:23:27 UTC
эта строчка кода присваивает переменной a значение ((((a/(a-(a&(a-1)))+1)/((a/(a-(a&(a-1)))+1)-((a/(a-(a&(a-1)))+1)&(a/(a-(a&(a-1)))))))*(a-(a&(a-1)))*2+1)*(((a/(a-(a&(a-1)))+1)-((a/(a-(a&(a-1)))+1)&(a/(a-(a&(a-1))))))/2))-1.

Reply

eduardische October 7 2010, 23:25:52 UTC
Спасибо, так я и сам умею. ОК, какой смчсл этого присваивания?

Reply

xcept_dot_ion October 7 2010, 23:40:16 UTC
ну ещё к тому же это решение задачи "вычислить значение ((((a/(a-(a&(a-1)))+1)/((a/(a-(a&(a-1)))+1)-((a/(a-(a&(a-1)))+1)&(a/(a-(a&(a-1)))))))*(a-(a&(a-1)))*2+1)*(((a/(a-(a&(a-1)))+1)-((a/(a-(a&(a-1)))+1)&(a/(a-(a&(a-1))))))/2))-1" со сложностью O(1)

Reply

xcept_dot_ion October 7 2010, 23:29:58 UTC
а серьёзно - это, судя по всему, какая-то функция, вывод которой уникален для её параметра, т.е. мы не сможем получить тот же результат, скормив ей другой параметр.

Reply


goodsoft October 7 2010, 23:45:43 UTC
оно как-то забавно поворачивает последние биты.
полезного не особо вижу

да, оно берёт последнюю группу единиц.
крайнюю левую сдвигает на бит влево, остальные - до упора вправо

Reply

eduardische October 7 2010, 23:48:44 UTC
Ну, можно сказать что поворачивает. Но очень даже полезно)

Reply

eduardische October 7 2010, 23:49:36 UTC
Всё, добей! :D

Reply

goodsoft October 7 2010, 23:50:33 UTC
окей, оно берёт эту группу единиц и тупо прибавляет её к числу
где польза?

спиздел

Reply


Leave a comment

Up