题解 | #质数因子#

质数因子

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

import math


def is_prime(number) -> bool:
    number = int(number)
    if number == 1:
        return False
    for t in range(2, int(math.sqrt(number) + 1)):
        if not number % t:
            return False
    return True


def cout_order_prime(number):
    if number <= 3 and number!=1:
        print(number,end=' ')
        return
    # 1.find the minimum prime
    min_prime = -1
    if is_prime(number):
        min_prime = number
    else:
        for t in range(2, int(math.sqrt(number) + 1)):
            if not number % t and is_prime(t):
                min_prime = t
                break
    # 2.continue to call this function
    if min_prime!=-1:
        print(min_prime,end=' ')
    else:
        return
    cout_order_prime(int(number / min_prime))


a = int(input())
cout_order_prime(a)

全部评论

相关推荐

02-08 15:53
门头沟学院 Java
CoderEcho:让公司知道便宜没好货
点赞 评论 收藏
分享
03-04 19:02
云南大学 Java
Yki_:没挂,只是没人捞,该干啥干啥,等着就好了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务