1.程序说明
输入:正整数n
输出:n的所有素数因子
运行结果:
2.实现思路
算术基本定理
任何一个大于1的自然数N,如果N不为质数,都可以唯一分解成有限个质数的乘积,表示为:
其中满足:
均为质数且其指数均为正整数。
上式也被称为N的标准分解式。
在输出过程中,只要i可以整除n就输出,可以重复输出相同的i直到无法整除再实行i++继续遍历
3.完整代码
#include<iostream>
using namespace std;
int main() {
int n;
cin >> n;
int i = 2;
bool first = true;
while (n != 1) {
while (n % i == 0) {
if (first) {
cout << n << "=" << i;
first = false;
}
else {
cout << "*" << i;
}
n /= i;
}
i++;
}
return 0;
}