2013年6月16日 星期日

UVa 332 - Rational Numbers from Repeating Fractions


Problem

這是很好玩的題目,國中有教怎麼把循環小數變成最簡分數。

如果不是循環小數,當然也可以變成最簡分數。



Source Code

接下來是細節,讀取 I/O。


2 0.318
1 0.3
2 0.09
6 0.714285
-1


這個很容易使用 double / float 去存 0.318 小數部份,

但如果使用 C++ native double / float data type,

又很容易產生本質上的誤差,乾脆把 0.318 當成字串處理還比較直覺。

((Java BigDecimal 就是採用這種處理方式))

除非逼不得已,盡量少用 double / float,

如果吃到 WA,還得慢慢嘗試把答案補上 1e-7 類似這種魔術數字。



沒有留言:

張貼留言