100經典演算法之(三) 分解質因數

2021-08-13 16:00:37 字數 461 閱讀 7170

題目:將乙個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5。

分析:

對n進行分解質因數,應先找到乙個最小的質數k,然後按下述步驟完成:

(1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印即可。

(2)如果n<>k,但n能被k整除,則應列印出k的值,並用n除以k的商,作為新的正整數你n,重複執行第一步。

(3)如果n不能被k整除,則用k+1作為k的值,重複執行第一步。

程式如下:

#include 

int main()

else

break; //跳出while使k+1 }}

printf("%d\n",n); //列印最後乙個質因數,即k等於n是的那個

return

0;}

014 分解質因數

題目 將乙個正整數分解質因數。例如 輸入90,列印出90 2 3 3 5。程式分析 對n進行分解質因數,應先找到乙個最小的質數k,然後按下述步驟完成 1 如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。2 如果n k,但n能被k整除,則應列印出k的值,並用n除以k的商,作為新的正整...

1020 分解質因數

每乙個大於等於2的自然數,均可寫成乙個或多個質數的乘積,例如 2 2 20 2 2 5這種將乙個整數分割成若干個質數之積的操作叫做分解質因數。現在,給你乙個整數n,請你編寫乙個程式,對其分解質因數。輸入為一行,正整數n,保證1 n 2147483647 1輸出n的質因數分解形式,格式為 n p1 e...

c語言經典100例》c12 分解質因數

程式12 c12.c 題目 將乙個正整數分解質因數。例如 輸入90,列印出90 2 3 3 5。程式分析 對n進行分解質因數,應先找到乙個最小的質數k,然後按下述步驟完成 1 如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。2 如果n k,但n能被k整除,則應列印出k的值,並用n除...