质因子一定是质数上的数,质数例如:2,3,5,7,11,13,17,19~等等只有1和它本身一对因子的数,求一个数的质因子数等价于求该数能整模质数范围[2,n]里的几个数
例如:求100的质因子,那么100能整模质数范围[2,n]里的2和5,哪2和5一共有多少个呢?下面代码就是解决这个问题的
#include<stdio.h>
int main()
{
int n, i;
scanf("%d", &n);
i = 2;
while (n > 1)
{
if (n % i == 0)
{
printf("%d\t", i);//2是最小的质数,能模i等于=0时显示i
n /= i;//通过除i来确定显示几个i
}
else
{
i++;//当模2不为0时对i调整
}
}
}