喃梦物语


私信TA

用户名:uq_88529018583

访问量:3292

签 名:

艾小鹿? 习之澜?

等  级
排  名 330
经  验 5290
参赛次数 0
文章发表 116
年  龄 0
在职情况 学生
学  校 阳光学院
专  业 数据科学与大数据技术

  自我简介:

#可过蓝桥oj

'''zgn946

0:17 2022/5/9'''


def is_prime(num):  #素数判断

    if num==2 or num==3:

        return True

    if num%6!=1 and num%6!=5:

        return False

    for i in range(5,int(num**0.5)+1,6):

        if num%i==0 or num%(i+2)==0:

            return False

    return True 


#合数分解

def a(num, list):

    

    for i in list:

        if num % i == 0:

            return i


#

def fenjie(num):

    global ct

    global ls

    if is_prime(num):  #是素数直接返回

        ct+=1

        aa.append(num)

        return str(num)

        

    

    else: #不是素数,进行下一步

        yinzi = a(num, ls)

        ct+=1

        aa.append(yinzi)

        return    str(yinzi) + ' ' + fenjie(num // yinzi)



#

#所给区间的素数都放进一个列表

ls= []

aa=[]

n =eval(input().strip())


for j in range(2, n + 1):

    if is_prime(j):

        ls.append(j)


ct=0

fenjie(n)

#print(str(n) + '=' + fenjie(n))

for i in aa:

    print(i,end=' ')

print()

print(ct)


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区