分解质因子
题目描述
将一个正整数分解质因数,例如,输入90,输出2 3 3 5。
输入
输入一个正整数n(2<=n<=2000)。
输出
从小到大输出n的所有质因子,每两个数之间空一格。
样例输入 Copy
20
样例输出 Copy
2 2 5
提示
注意,最后一个数后面没有空格!!
#include<stdio.h>
int main()
{
int i,x,num;
scanf("%d",&num);
for(i=2; ;i++)
{
while(num%i==0)//是i的倍数,
{
if(num==i)//除数和被除数相等的时候,最后一次循环
{
printf("%d",i);//最后一个数后面没有空格
return 0;//退出循环
}
printf("%d ",i);
x=num/i;//得到商
num=x;//把得到的商赋值给除数
i=2;//重新循环
}
}
}