摘要:#include <stdio.h>
#include <stdlib.h>
int flag=1;
int isPrem(int num)
{
int i;
for(i=2;i<=num/2;++i)
{
if(nu
#include <stdio.h>
#include <stdlib.h>
int flag=1;
int isPrem(int num)
{
int i;
for(i=2;i<=num/2;++i)
{
if(num%i==0)
return 0;
}
return 1;
}
void fj(int x)
{
int i,a,b;
//判断a,b是否都是质数
if(isPrem(x))
{
if(flag=1)
{
printf(" %d",x);
}
else
{
printf(" %d",x);
}
flag=0;
}
else
{
//分解
for(i=2;i<=x/2;++i)
{
if(x%i==0)
{ a=i;
b=x/i;
break;
}
}
fj(a);
fj(b);
}
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
flag=1;
fj(n);
printf("\n");
}
return 0;
}