zerojudge b538: 分數運算-2

        zerojudge b538: 分數運算-2

題意:

計算兩分數

輸入:

多組測資,以EOF結束

每組測資有 a,b,c,d 和@(四則運算中的一個運算子(+,-,*,/))

輸出:

列印#e/f,

其中a/b @ c/d =  #e/f,

其中#為負號或""(如:不可列印出5/-3)

其中e,f>0,e/f為最簡分數

,當f為1,只能列印出e

,當e等於0時請列印出0

測資輸入: 

1 3 1 3 +

1 3 1 3 *

1 3 1 3 /

1 3 1 3 -

1 3 2 3 +

2 3 1 3 /

1 3 2 3 -

1 3 0 3 *

測資輸出://為備註

2/3

1/9

1 //不為1/1

0 //不為0/3

1 //不為1/3

2 //不為2/1

-1/3 //不為1/-3

0 //不為0/9

解法:

用通分算出e/f然後將e/f約分

我的方法是先讓分母為b*d而不是LCM(b,d);反正最後要約分


註:不可用浮點數算會有誤差

Comments

Popular posts from this blog

zerojudge c561. Bert 愛搗蛋

zerojudge d122. Oh! My Zero!!