/*
分解质因数, 例如60的质因数为2*2*3*5 = 60
*/
#include <stdio.h>
int main(int argc, const char * argv[]) {
int num, temp ,i = 0 ,j = 2 ,k = 0; // temp 临时存储数 i用来控制循环 j除数 a[k]数组记录质数
int a[10] = {0};
scanf("%d",&num);
temp = num;
while ( i == 0) {
if (temp % j == 0) { // 如果是j是一个质数
temp = temp / j;
a[k] = j;
j = 2;
k++;
}else j++; // j不是质数 则+1
if (j > temp) { // 如果除数大于临时变量 则结束 i置为0
i = temp;
}
}
int m;
printf("%d 的质数有:",num);
for (m = 0; m < k ; m++) { // 输出质数
printf("%d ",a[m]);
}
printf("\n");
return 0;
}