题解 | #质数因子#
质数因子
http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
对于整数N,找质因子,首先在[2,N的平方]内找质因子,若 N 除以这些质因子后的商仍然大于1,那么这个商不做处理,直接作为N的最后一个质因子。
#include <stdio.h>
int main (){
int a;
int i;
int N=10000000000;
while (scanf("%d",&a)>0)
{
for (i=2;i*i<=N;i++)//对于整数N,找质因子,首先在[2,N的平方]内找质因子,若 N 除以这些质因子后的商仍然大于1,那么这个商不做处理,直接作为N的最后一个质因子。
{
while (a%i==0)
{
printf("%d ",i);
a=a/i;
}
}
if (a!=1)
printf("%d ",a);
}
}