提示:
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;
}
}
}
}