题解 | #质数因子#
质数因子
http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
#include <stdio.h>
int main(){
int a;
scanf("%d",&a);
//短除法求质因数
for(int i = 2; i*i <= a; i++){
//因数循环,寻找质因数进行短除
//不用每次判断被除数是否是质数,因为由小到大除下来已经排除了
while(a % i == 0){
printf("%d ",i);
a /= i;
}
} //排除 a 是 1 的情况,a 是商值,当商是质数,且不是 1 ,那么它就是质因数
if(a - 1) printf("%d ",a);
return 0;
}
无
无