题解 | #质数因子#

质数因子

https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607

def calcurate(digit, record):
    for i in range(2, int(digit ** 0.5) + 1):
        if digit % i == 0:
            record.append(i)
            calcurate(digit // i, record)
            break
    return record       

digit = int(input())
record = calcurate(digit, [])
for i in record:
    digit = digit // i
record.append(digit)
print(' '.join(list(map(str, record))))

使用递归的算法求解质数因子,每次递归会找到最小的质数因子,最后再添加剩余的质数因子。这里需要注意的是,每次的循环只需要从2开始直到 int(digit**0.5)+ 1

全部评论

相关推荐

06-26 22:20
门头沟学院 Java
码农索隆:让你把简历发给她,她说一些套话,然后让你加一个人,说这个人给你改简历,然后开始卖课
我的求职精神状态
点赞 评论 收藏
分享
LazyBreeze:项目尽量体现你对技术的理解和深度,不是说把中间件用一下就完事了,你项目里面提到集群和分布式,你真在服务器上部署过吗,感觉太假了,第二个项目说自己用了微服务的什么组件,只是用了没有自己的思考,很难让面试官注意到你的简历。针对某几个技术点自己多思考一下,考虑一下有没有别的替代方案,可以写一下,即使没有真的实现
点赞 评论 收藏
分享
昨天 16:47
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务