python 求輸入資料的質數因子

2021-10-04 09:33:05 字數 647 閱讀 5287

題目描述

功能:輸入乙個正整數,按照從小到大的順序輸出它的所有質因子(如180的質因子為2 2 3 3 5 )

最後乙個數後面也要有空格

python版:

n =

int(

input()

)i=2while i<=n:

while n % i ==0:

n /= i

print

(str

(i),end=

" ")

i +=

1

n從2開始除,遇到的第乙個整除數字一定是它的最小質數,迴圈除 i 直到不能整除說明當前這個質因子已經除到n能包含的最大個數了,將 i+1 ,繼續迴圈除,直到 i>n。

c++版:平均執行時間5ms,記憶體400k

#include

using

namespace std;

intmain

(void)}

return0;

}

另外,可以用for (2, n/2+1)來代替第乙個迴圈,除以2是因為如果輸入的數本身不是質數那麼它迴圈的次數一定小於 n/2,可以減少複雜度但需要特殊處理輸入本身就是質數的情況。

python怎麼求質數 Python中質數怎麼找?

質數是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。python中怎麼查詢質數呢?1 首先我們建立乙個空的list 然後我們知道2是最小的質數,於是我們把2新增進這個空白的list 2 之後我們開始迴圈,第乙個數從3開始 用3除以小於3的質數,沒有小於它的質數能被它整除 我們將3再...

Python求質數 素數

先寫乙個裝飾器d1.py,為了測試執行時間 from functools import wraps import time deff1 func wraps func deff2 begin time.time func end time.time print cost end begin retu...

python 案例010(求質數)

重點是什麼是質數,以及怎麼求質數 usr bin python coding utf 8 find prime number 判斷101 200之間有多少個素數,並輸出所有素數。何為素數 質數 外文名prime number 又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有...