质数因子问题

2019-01-05  本文已影响0人  yuriy0_0
我的最初解法:
def isPrime(number):
    if number==1:
        return False
    for i in range(2,number):
        if number%i==0:
            return False
    return True

while True:
    try:
        s=int(input())
        t=2
        result=[]
        while s>1:
            if s%t==0 and isPrime(t):
                s=s//t
                result.append(t)
            else:
                t=t+1
        for r in result:
            print(r,end=' ')
    except:
        break

在讨论区看到一种很精简的写法,利用了break和while循环;讨论区还提出了近一步优化的方法,尝试了一下用python写出来好像效果不太好


屏幕快照 2019-01-05 下午3.15.40.png 屏幕快照 2019-01-05 下午3.38.04.png 屏幕快照 2019-01-05 下午3.38.10.png
上一篇 下一篇

猜你喜欢

热点阅读