2016-12-20|1177阅|作者:小喃|举报 摘要:#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;
}