Рассчитать n
по модулю 12
для 32-разрядного целого числа без знака.
Правила:
- Должен работать для всех
n
от 0 до 23. Другие числа необязательны. - Необходимо использовать только любой из операторов
+-*
,~&^|
или<<
,>>
как это обычно определяется на 32 - битных uints. - Может использовать произвольное количество постоянных uints.
- Не разрешается использовать любые указатели, в том числе массивы или любые
if
операторы, включая вещи, которые компилируются в операторы if, такие как троичные операторы или операторы «больше чем».
Подсчет очков:
- Операторы
+ -
и побитовые операторы~ & ^ | << >>
(NOT, AND, XOR, OR, битовые сдвиги) дают оценку1
,*
дают оценку2
. - Наименьшее общее количество очков выигрывает.
for i in x:y:z, .dostuff
?
n % 12
под умножение и сдвиг, как в восторге от хакера, так что это тривиально, просто выведите сборку и посмотрите
+-*
это сложение, вычитание, умножение;~&^|
поразрядно НЕ, И, XOR, ИЛИ; и<< >>
сдвиги.