Для очень больших чисел math.log10 (), кажется, работает, но math.log (), кажется, не работает, почему это так? - PullRequest
0 голосов
/ 08 апреля 2020

Вопрос в том, что число задается в виде строки. Мы должны проверить, является ли это степень 2 или нет. где оно должно быть больше 2. Соответственно, мы должны вернуть 0 или 1.

class Solution:
# @param A : string
# @return an integer
def power(self, A):
    if (int(A)<2):
        return 0
    val=int(A)
    check=math.log(val)/math.log(2)
    if (math.floor(check)==math.ceil(check)):
        return 1
    else:
        return 0

Это возвращает 0 для "5070602400912917605986812821504", тогда как если я использую math.log10 () вместо math.log (), или если я напрямую использую math.log2 (). Возвращает 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...