#include <stdio.h>
#include <math.h>
int main()
{
int i=2,n;//最小的质数是2,所以由2开始
scanf("%d",&n);
while(i<=sqrt(n))//因为得到一个因子就可以将另一个因子求出,所以只需要遍历一半即可
{
while(n%i==0)//满足n%i说明i为质数
{
printf("%d ",i);
n=n/i; //这一步看n是否可以继续拆分,如果不可以直接输出
}
i++;
}
if(n!=1)//因为1不是质数,最小的质数是2,当遍历至1时已经是不满足因子是质数的条件了
{
printf("%d ",n);
}
return 0;
}
ZZULIOJ1071:分解质因子
最新推荐文章于 2024-08-12 18:10:44 发布