python中的布尔递归

slo*_*ng9 2 python recursion boolean

我试图看看a是否是b的力量.为了实现这一点,需要被b整除,而a/b也需要是b的幂.我正在努力应对这里的递归,因为它似乎将永远持续下去.有人可以帮忙吗?

def is_power(a,b):
    if(a % b == 0):
        a = a/b
        if(is_power(a,b)):
            return True
    return False
Run Code Online (Sandbox Code Playgroud)

Pat*_*ugh 6

另一种方法是a采用相对于基数的对数b.如果结果是一个整数,而不是b**x = a一些x

from math import log

def is_power(a, b):
    return log(a, b).is_integer()
Run Code Online (Sandbox Code Playgroud)

  • 我怀疑有人会试图用递归来解决这个问题,除非他们特意说他们必须使用递归. (2认同)