2010-05-09 219 views
0

就在我參加Google Code Jam資格賽的前一天。這是我第一次參加這種在線編碼比賽。真的很好玩。雙精度值

有三個問題給出我能解決兩個問題。但是在我遇到的其中一個問題中,我被要求使用真正巨大的價值。我是一個Java人,我想我會去雙變量。不幸的是,雙精度還不夠。此外,我在最後階段參加了這個活動,我沒有時間去深入研究它(再加上解決1就足以進入下一階段)。

我的問題是這樣的,如何有一個大於一倍的精度機制。我的編程經驗是用Java編寫的,所以如果你可以在這方面做出回答,那將是非常好的。

感謝

回答

5

Java有BigDecimall用於高精度計算 - 但它是多少,比使用double慢得多。

也有可能所討論的問題被認爲是通過使用代數變換和例如與對數一起工作。

1

您可以使用任意精度數字,例如BigDecimal - 速度較慢,但​​如您指定的那樣精確。

2

如果問題需要整數,可以使用BigInteger。

此外,長整數略高於雙整數,63位與53位精度(假設爲正數)相比略好。

+0

Yah .. int - > long - > BigInteger,float - > double - > BigDecimal – bwawok 2010-05-09 19:39:44