ばっかじゃないの!

じゃみらー

問題

「1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0の10個と + - × ÷ ( )を使って大きい数を作れ」という問題。

これで 1.9 * 1.3 / ( (1.7-1.6) - ( ( ( 1.1/1.2 + 1.4/1.5)-1.8)*2.0) ) としたらどうなるんだろうか。

  • 1.1/1.2 + 1.4/1.5 = 1.84(9) ←(9) は、ずっと9が続くって意味。つまり1.8499999999…ということ
  • (1.1/1.2 + 1.4/1.5)-1.8 = 1.84(9) - 1.8 = 0.04(9)
  • ((1.1/1.2 + 1.4/1.5)-1.8)*2.0 = 0.04(9) * 2.0 = 0.0(9)
  • (1.7-1.6)-(((1.1/1.2 + 1.4/1.5)-1.8)*2.0) = 0.1 - 0.0(9) = 0.(0)1

これを÷でひっくり返したら…ガクブル...

1.9 * 1.3 / ( (1.7-1.6) - ( ( ( 1.1/1.2 + 1.4/1.5)-1.8)*2.0) ) = 1.9 * 1.3 * 10^?


これがたぶん間違いなく最大値。
この計算の途中、ゼロで割ってるわけでなく、限りなくゼロに近い数字で割ってる。
ただ機械に計算させようとすると、誤差ではじめの1.84(9)の無限に続く9のどこかが誤差で9じゃなくなる。
実際グーグルの電卓機能では勝手に四捨五入しやがったし、FORTRANでやってみても1.0E+16くらいになってる。
というか倍精度実数使ったって精度は高々15桁だからFORTRANの結果はモロに計算限界ってことになる。


分数でやったら最後のところがゼロじゃないか!←
小数でやっても(0.999... - Wikipediaを参考に)、最後の 0.1 - 0.0(9) = 0 になるのか。


なるほど。
ふたを開けてみれば何てことはない、単にゼロで割り算しただけだった。
はずかしす。