2009-04-04 14:35:06來源不明

根號運算

/**************************************/

#include<stdio.h>              
#include<stdlib.h>           
#include<math.h>           
main()           
{           
 int n,a,b,temp;           
 while(scanf("%d",&n)!=EOF)           
  {                
   a=abs(n);temp=1;           
   if(a!=0)           
   {           
    for(b=2;b<=(int)sqrt(a)&&a!=1;b++)           
     {           
        while(a%(b*b)==0)           
        {           
         temp=temp*b;           
         a=a/b/b;           
        }           
     }            
    if(temp==1)           
     printf("_/%d",a);           
    else          
     {           
      if(a!=1)           
       printf("%d_/%d",temp,a);           
      else          
       printf("%d",temp);            
     }             
    if(n<0)           
     printf("i");           
    }           
    else          
    printf("0");           
    printf("\n");             
  }               
 return 0;                
}