Рассчитать 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, ИЛИ; и<< >>сдвиги.