Есть умные способы определить, является ли число степенью 2. Это больше не интересная проблема, поэтому давайте определим, является ли данное целое число целой степенью -2 . Например:
-2 => yes: (-2)¹
-1 => no
0 => no
1 => yes: (-2)⁰
2 => no
3 => no
4 => yes: (-2)²
правила
Вы можете написать программу или функцию и использовать любой из стандартных методов получения ввода и предоставления вывода.
Ваши входные данные представляют собой одно целое число, а выходные данные должны быть истинным значением, если целое число представляет собой целую степень -2, а в противном случае - ложное значение. Другие выходные данные (например, предупреждающие сообщения) не допускаются.
Применяются обычные правила целочисленного переполнения: ваше решение должно быть в состоянии работать с произвольно большими целыми числами в гипотетической (или, возможно, реальной) версии вашего языка, в которой все целые числа не ограничены по умолчанию, но если ваша программа дает сбой на практике из-за реализации не поддерживает такие большие целые числа, что не делает решение недействительным.
Вы можете использовать любой язык программирования , но учтите, что эти лазейки по умолчанию запрещены.
Выигрышное условие
Это соревнование по коду для игры в гольф : ответ, имеющий наименьшее количество байтов (в выбранной вами кодировке), является победителем.
-0.5
должны быть действительными, так как это 2 ^ (- 1) .
i
как не естественно
i
такого, что(-2)^i = 2