题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
#include <math.h> #include <stdio.h> int main(void) { long n,m; int i, j; scanf("%ld",&n); m=sqrt(n); //开方简化计算量 //printf("%d\n",m); for(i=2;i<=m+1;i++) //从小到大取余,无需判断是否为质数因子 { while(n%i==0) { printf("%d ",i); n/=i; } } if(n>1) //未被分解部分 { printf("%d",n); } return 0; }