题解 | #质数因子#

质数因子

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

import sys, math

num = int(sys.stdin.readline().strip())

ret = ''
# 判断质数
def iz(k):
    if k == 1:
        return 0
    if k in (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37):
        return 1 
    for i in (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37):
        if k % i == 0:
            return 0
    for i in range(37, int(math.sqrt(k)) + 1):
        if k % i == 0:
            return 0
    return 1
# 找最近的质数
def findZ(n, sup):
    
    while n < sup:
        if iz(n):
            return n 
        n += 1
    return 0

n = findZ(2, num)
while n != 0:
    while num % n == 0:
        ret += str(n) + ' '
        num =  num // n 
    if iz(num):
        ret += str(num) + ' '
        break
    n = findZ(n + 1, num)
    
print(ret)
全部评论
这个不怎么看的懂啊,谁给解释下
点赞 回复 分享
发布于 2022-02-22 19:34

相关推荐

双尔:你就写拥有ai开发经历,熟练运用提示词,优化ai,提高ai回答质量
点赞 评论 收藏
分享
专业嗎喽:个人信息名字太大,合到电话邮箱那一栏就行,有党员写过党,剩下其他全删,站空太大了 把实习经历丰富,放最前面,然后是个人评价,技能之类的,然后是学校信息。项目经历最后面,可以就选一个自己擅长的。 现在是学校不是92就扣分的,没必要放前面。 然后现在看重实习经历>竞赛经历(校园经历)>课程项目经历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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