提示:
1、 對 n 進行分解質因數,應先找到一個最小的質數 k,k 的值應該從 2 開始,然後按下述 步驟完成:
2、 如果這個質數恰等于 n,說明分解質因數的過程已經結束,列印出即可。
3、 如果 n > k,但 n 能被 k 整除,則應列印出 k 的值,并用 n 除以 k 的商,作為新的正整 數 n,重複執行第一步。 如果 n 不能被 k 整除,則用 k + 1 作為 k 的值,重複執行第一步。
#include <iostream>
using namespace std;
int main()
{
int n;//輸入的正整數
int k = 2;//最小的質數
cout <<"請輸入一個正整數" << endl;
cin >> n;
cout << "将" << n << "分解成質因數" << endl;
cout << n << " = ";
while(1)
{
if (n == k)
{
cout << k << endl;
cout << "分解質因數的過程已結束" << endl;
break;
}
else if (n > k)
{
if (n % k == 0) //n能被k整除
{
cout << k << " * " ;
n = n / k;
}
else //n不能被k整除
{
k = k+1;
}
}
}
}