[ACM ] Q332 AC
/*
============================================================================
Name : Q332.c
Author : Pichu
Version :
Copyright : Q332
Description :
============================================================================
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define SIZE 20
long long gcd(long long, long long);
int main(void) {
int counter = 1;
int j,k;
char x[SIZE];
/* scanf("%s%s",x,a);
BigMinus(x,a,t);
printf("%lld",(long long)atoi(t));
*/
long long X,p,q;
while(scanf("%d",&j)){
if(j== -1)break;
scanf("%*[^.]%*[.]%s",x);
k=strlen(x) - j;
X=(long long)atoi(x);
if(j){
p=X-floor(X/pow(10,j));
q=pow(10,k+j) - pow(10,k);
}else{
p=X;
q=pow(10,k);
}
if(p==0)printf("Case %d: 0/1\n",conuter);
else{
long long gcdd=gcd(p,q);
printf("Case %d: %lld/%lld\n",counter,p/gcdd,q/gcdd);
}
counter++;
}
return EXIT_SUCCESS;
}
long long gcd(long long b, long long a){
long long t;
if(b==0||a==0)return -1;
if(b>a){
t=b;
b=a;
a=t;
}
t=a%b;
while(t!=0){
a=b;
b=t;
t=a%b;
}
return b;
}
恩 我的作法是先讀入j 然後點後讀入x
之後帶入公式 GCD 輸出
可是就是WA...
另外 想問一下如果用大數運算會比較漂亮嗎?
http://www.tcgs.tc.edu.tw/~sagit/luckycat/q332.htm
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=5&problem=268
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.182.94
推
09/22 23:04, , 1F
09/22 23:04, 1F
※ 編輯: pichubaby 來自: 140.117.182.94 (09/22 23:05)
謝謝 cutecpu大大
※ 編輯: pichubaby 來自: 140.117.182.94 (09/22 23:29)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章