题解 | #质数因子#

质数因子

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

import math

multiple = int(input())

is_prime = 0
if multiple == 1:
    print(1)
else:
    factors = []
    init_fac = 2
    while not is_prime:
        multiple_changed = 0
        for v in range(2, int(math.sqrt(multiple))+1):  # 质数因子不会超过开方,加1向上取整
            if multiple % v == 0:
                # print(multiple)
                multiple //= v
                multiple_changed = 1
                factors.append(v)
                break
        if not multiple_changed:
            is_prime = 1
            factors.append(multiple)
output_str = ''
for v in factors:
    output_str += str(v)
    output_str += ' '
print(output_str[:-1])

质数因子不会超过开方,不考虑这一点会超时

全部评论

相关推荐

想去夏威夷的小哥哥在度假:5和6才是重点
点赞 评论 收藏
分享
11-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务