题解 | #质数因子#

质数因子

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

可以使用递归,注意循环时的范围选择,一般选择(2,int(math.sqrt(num))+1),范围过大会导致运行超时。

import sys
import math

def primeFactor(num,data):
    flag = 0
    for i in range(2,int(math.sqrt(num))+1):
        if num%i==0:
            data=primeFactor(int(num//i),data)
            flag=1
            break
    if flag==0:
        data.append(num)
        return data
    if(i==num-1):
        i=i+1
    data.append(i)
    return data
    
            
num = int(input())
#print(num)
data=[]
data = primeFactor(num,data)
data.sort()
order=[]
for i in range(0,len(data)):
    order.append(str(data[i]))
print(' '.join(order))


全部评论

相关推荐

07-01 13:37
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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