python 質數因子求解

2021-10-22 03:11:49 字數 835 閱讀 2062

思路

2開始到sqrt(n)開始遍歷,當n%i等於0時,當前i就是乙個質因子,之所以只遍歷到sqrt(n),原因就是如果到sqrt(n)後還是沒找到質因子,當再往上找時不會再有質因子,因為如果再往上找還有質因子,n除以這個質因子一定小於sqrt(n),那在2sqrt(n)之間應該有它的質因子,與前面2sqrt(n)之間沒有它的質因子相互矛盾,所以不再繼續找它的質因子,每次找到質因子後,只要判斷當前n%i==0,就一直把n換為n/i,這樣就能得到去掉所有當前質因子後的n並繼續迴圈

具體實現

跳出for迴圈時,如果n>1,說明還有乙個質因子沒有輸出就是當前n本身,繼續輸出這個n

006 質數因子

006 質數因子 題目描述 功能 輸入乙個正整數,按照從小到大的順序輸出它的所有質數的因子 如180的質數因子為2 2 3 3 5 詳細描述 函式介面說明 public string getresult long uldatainput 輸入引數 long uldatainput 輸入的正整數 返回...

6 質數因子

功能 輸入乙個正整數,按照從小到大的順序輸出它的所有質數的因子 如180的質數因子為2 2 3 3 5 最後乙個數後面也要有空格 詳細描述 函式介面說明 public string getresult long uldatainput 輸入引數 long uldatainput 輸入的正整數 返回值...

6 質數因子

功能 輸入乙個正整數,按照從小到大的順序輸出它的所有質數的因子 如180的質數因子為2 2 3 3 5 最後乙個數後面也要有空格 詳細描述 函式介面說明 public string getresult long uldatainput 輸入引數 long uldatainput 輸入的正整數 返回值...