把一个合数分解成若干个质因数乘积的形式(即求质因数的过程)叫做分解质因数。分解质因数(也称分解素因数)只针对合数。
输入一个正整数n,将n分解成质因数乘积的形式。
输入:
一个正整数n。
输出:
分解成质因数乘积的形式。质因数必须由小到大,见样例。
样例:
36=2*2*3*3
代码:
#include <stdio.h>
void hh(int* a) {
for (int i = 2; i <= 20000; i++) {
if (a[i] == 0) {
for (int j = i + i; j <= 20000; j += i) {
a[j] = 1;
}
}
}
}
int main() {
int a[20001] = { 0 };
hh(a);
int n;
scanf("%d", &n);
printf("%d=", n);
int i = 2;
while (n != i) {
if (a[i] == 0) {
if (n % i == 0) {
printf("%d*", i);
n /= i;
}
else i++;
}
else i++;
}
printf("%d", i);
return 0;
}