题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
#include <math.h>
#include <stdio.h>
int main() {
int num;
scanf("%d",&num);
int i =2;
while(i<=(int)sqrt(num)){//因子不大于除数平方根 防止超时
if(num % i==0){ //是因子判断因子是否素数
int j;
for(j =2;j<=(int)sqrt(i);j++){
if (i % j==0) {
break;
}
}
if(j>(int)sqrt(i)){ //是素数
num = num / i;
printf("%d ",i);
continue;
}
}
i++; //不是因子
}
if(num !=1){
printf("%d ",num);
}
return 0;
}
