24h購物| | PChome| 登入
2009-05-23 19:11:17| 人氣296| 回應0 | 上一篇 | 下一篇

Parallelogram! And triangle!!

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

這已經發揮到型態的極限考驗了,我也不知道該說什麼...

總之 0 0 0 這組測資請小心

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

#include<stdio.h>
#include<stdlib.h>
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()
{
 unsigned int a,b,k;
 while(scanf("%lu %lu %lu",&k,&a,&b)==3)
  {
    double uptemp=0,downtemp=0;
    int a1,b1;
    if(k==0) {printf("0\n0\n0\n");continue;}
    long long int up[3]={0},down[3]={0};
    up[0]=k;up[1]=a;up[2]=a;
    down[0]=2;down[1]=a+b;down[2]=2*a+b;
    for(a1=0;a1<3;a1++)
     for(b1=0;b1<3;b1++)
      {
       long long int temp=gcd(up[a1],down[b1]);                      
       up[a1]=up[a1]/temp;
       down[b1]=down[b1]/temp;
      }
    uptemp=up[0]*up[1]*up[2];
    downtemp=down[0]*down[1]*down[2];
    if(downtemp==1) printf("%.0lf\n",uptemp);
    else printf("%.0lf / %.0lf\n",uptemp,downtemp);
  
    up[0]=up[1]=up[2]=0;
    down[0]=down[1]=down[2]=0;
    uptemp=0;downtemp=0;
    up[0]=k;up[1]=a;
    down[0]=2;down[1]=2*a+b;
    for(a1=0;a1<2;a1++)
     for(b1=0;b1<2;b1++)
      {
       long long int temp=gcd(up[a1],down[b1]);                      
       up[a1]=up[a1]/temp;
       down[b1]=down[b1]/temp;
      }
    uptemp=up[0]*up[1];
    downtemp=down[0]*down[1];
    if(downtemp==1) printf("%.0lf\n",uptemp);
    else printf("%.0lf / %.0lf\n",uptemp,downtemp);
   
    up[0]=k;up[1]=a+b;
    down[0]=2;down[1]=2*a+b;
    for(a1=0;a1<2;a1++)
     for(b1=0;b1<2;b1++)
      {
       long long int temp=gcd(up[a1],down[b1]);                     
       up[a1]=up[a1]/temp;
       down[b1]=down[b1]/temp;
      }
    uptemp=up[0]*up[1];
    downtemp=down[0]*down[1];
    if(downtemp==1) printf("%.0lf\n",uptemp);
    else printf("%.0lf / %.0lf\n",uptemp,downtemp);
  }
  return 0;
}

台長: 來源不明
人氣(296) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ZeroJudge 基礎+原創題庫 |
此分類下一篇:快速排序.
此分類上一篇:骰子問題

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