题解 | #质数因子#
质数因子
http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
#include<stdio.h>
#include<math.h>
int main(viod)
{
int a, b, i = 0;
scanf("%d", &a);
for (b = 2; b <= a; b++)
{
//最小质数因子必小于输入数字的平方根
if(b>sqrt(a)+1)
{
b=a;
}
while (a % b == 0)
{
printf("%d ",b);
a = a / b;
}
}
return 0;
}
这里需要注意的一点就是 最小质数因子必小于输入数字的平方根 如果没有这个条件, 必定超时