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.