题目描述
根据数论的知识可知,任何一个合数都可以写成几个质数相乘的形式,这几个质数都叫做这个合数的质因数。例如:24=2×2×2×3。现在从键盘输入一个正整数,请编程输出它的所有质因数
输入要求
从键盘输入一个正整数n,n<100000。
输出要求
输出该整数的所有质因数。
输入样例
180
输出样例
2 2 3 3 5
代码实现
#include <stdio.h>
int main()
{
int n,i;
scanf("%d",&n);
for(i=2;i<=n;i=i)
{
while (i<=n)
{
if (n%i==0 && i!=n) {printf("%d ",i);break;}
else if (n%i==0 && i==n) {printf("%d",i);break;}
else i=i+1;
}
n=n/i;
}
printf("\n");
return 0;
}