Codewars第十二天–What's a Perfect Power anyway?

Codewars第十二天–What’s a Perfect Power anyway?

题目描述:
你的任务是检查一个给定的整数是一个完美的幂指数。 如果它是一个完美的幂指数,则返回一对m和k,其中 mk=n m k = n 。 否则返回None。

注意:对于完美的功率,可能有几对。 例如,81 = 3 ^ 4 = 9 ^ 2,因此(3,4)和(9,2)都是有效的解决方案。
代码如下:

from math import log, sqrt

def isPP(n):
    for m in range(2, int(sqrt(n)) + 1):
        k = int(round(log(n, m)))
        if m ** k == n:
            return [m, k]
    return None

这里用到了round() 函数:返回浮点数x的四舍五入值。

round( x, n)
#x--数学表达式
#n---表示从小数点位数,默认为0.

你可能感兴趣的:(note,python3)