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

41 篇文章 1 订阅

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.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值