24h購物| | PChome| 登入
2009-08-31 22:06:59| 人氣577| 回應0 | 上一篇 | 下一篇

ACM 332 Q332: Rational Numbers from Repeating Fractions

推薦 0 收藏 0 轉貼0 訂閱站台

作法 : GCD

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

#include
#include
#include
long long int GCD(long long int a,long long int b)           
{           
  long long int temp;           
  while(a%b)                 
   {                 
     temp=a;                 
     a=b;                 
     b=temp%b;                            
   }
   return b;           
}
main()
{
 int n,time=0;
 char N[50];
 while(scanf("%d",&n)==1&&n!=-1)
     {
        scanf("%s",N);
        int M=strlen(N)-2,k=M-n,a;
        long long int s1=1,s2=1,cir=0,num=0,x,y;
        for(a=2;a           num=num*10+N[a]-48;
        for(a=M+2-n;a           cir=cir*10+N[a]-48;
        if(n!=0)
        {
           for(a=1;a<=k;a++)  s1=s1*10;
           for(a=1;a<=k+n;a++)  s2=s2*10;
            x=s2*num-s1*num+cir*s1;
            y=s2-s1;
            x=x/s2;
        }
        else
        {
           for(a=1;a<=M;a++)  s1=s1*10;
           x=num;
           y=s1;
        }
        long long int g=GCD (x,y);
        x=x/g;y=y/g;
        printf("Case %d: %lld/%lldn",++time,x,y);
     }
 return 0;
}
/*
Q332: Rational Numbers from Repeating Fractions
*/

台長: 來源不明
人氣(577) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ACM |
此分類下一篇:ACM 10856 Q10856: Recover Factorial
此分類上一篇:ACM 694 Q694: The Collatz Sequence

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文