题解 | #质数因子#

质数因子

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

def is_prime(n):
    if n <= 1:
        return False
    elif n <= 3:
        return True
    elif n % 2 == 0 or n % 3 == 0:
        return False
    i = 5
    while i * i <= n:
        if n % i == 0:
            return False
        i += 2
    else:
        return True

def try(a = int(input())):
    b = []
    c = []
    if is_prime(a):
        print(int(a))
    for i in [2,3,5]:
        if not is_prime(a):
            while a%i == 0:
                print(i, end=' ')
                a //= i
                if is_prime(a):
                    print(int(a))
                    return
    for i in range(7,a//2+1):
        if is_prime(i):
            b.append(i)
    
    for i in b:
        if a % i == 0:
            c.append(i)
    
    for i in c:
        if not is_prime(a):
            while a%i == 0:
                print(i, end=' ')
                a /= i
                if is_prime(a):
                    print(int(a))
                    return
try()

        
    

全部评论

相关推荐

故事和酒66:感觉够用了佬ps资格证书多了一行,最好精简成一面,hr看不了那么多字
点赞 评论 收藏
分享
牛客54175811...:今年对双非很难。1、争取一段大厂实习经历,2、狂磕八股,3、再跑个难度提升的项目。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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