题目描述:
输入
输入一个正整数n(2<=n<=2000)。
输出
从小到大输出n的所有质因子,每两个数之间空一格。
样例输入
20
样例输出
2 2 5
# include<stdio.h>
# include<math.h>
int main()
{
int m,n,i,j,flag;
scanf("%d",&n);
while(n!=1)
{
flag=1; //是不是质因数的标志
for(i=2;i<=n;i++)
{
if(n%i==0) //先找出因数
{
for(j=2;j<sqrt(i);j++) //使用sqrt()加快速度判断是不是质数
{
if(i%j==0)
{
break; //是质数直接结束本次循环
}
}
if(flag)
{
printf("%d ",i);
n/=i;
break; //结束本次循环i从二开始
}
}
}
}
return 0;
}