Я пытаюсь определить, можно ли выразить целое число в форме a ^ b, где b> 1, а заданное целое число больше 0. Мой код работает нормально для всех тестовых случаев, кроме одного.Это дает неправильный ответ для следующего ввода: 536870912 Я не могу понять, почему.
def isPower(self, A):
if(A==1):
return (1)
for i in range(2,int(A**0.5)+1):
val=log(A,i)
if(int(val)-val==0):
return (1)
else:
return (0)