首页 > 其他 > 详细

求正整数N(N>1)的质因数的个数。

时间:2020-03-15 20:44:23      阅读:101      评论:0      收藏:0      [点我收藏+]

题目:

相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。

第一段代码比第二段复杂度要低,运行时间很快。第二段是没问题的,就是速度太慢了,平台上提交不过去的!

n = int(input())
res = 0
while n > 1:
    flag = 1
    t = int(n**0.5)     
    for i in range(2,t+1):
        if n % i == 0:  #求余
            n /= i   
            res += 1 
            flag = 0
            break
    if flag:  
        res += 1
        break
print(res)
n=int(input())
prime=int(2)
num=1
if n==prime:
    print(n)
else:
    while(n>prime):
        k=n%prime
        if(k==0):
            #print(prime)
            n=n/prime
            num+=1
        else:
            prime+=1
    print(num)

 

求正整数N(N>1)的质因数的个数。

原文:https://www.cnblogs.com/zmh-980509/p/12499508.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!