степень два - это число в форме 2n, где n - целое число, т. Е. Результат возведения в степень с номером два в качестве основания и целое число n в качестве показателя степени.
Я хочу проверить степеньНапример, если я ввожу 128, ввод программы должен быть True, потому что 128 = 2 ^ 7
, поэтому я написал этот код:
import math
def power_of_two(x):
if(x==0):
print ("False")
return False
else:
n = math.log2(x)
if n%1 > 0:
return False
else:
return True
, но в этом коде, если я попытаюсь дляпример 4096 работает хорошо, но если я попробую большие числа, например 4722366482869645213702, это не сработает, выведите True (должно быть False)
как я могу решить эту проблему ??