题解 | #质数因子#

质数因子

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))


全部评论

相关推荐

投递腾讯云智研发等公司8个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务