立方根の計算
Posted feedbacks - Smalltalk
Squeak Smalltalk で。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | | cubeRoot cr |
cubeRoot := [:x |
| y |
y := 1.0.
[((y*y*y) - x) abs < 1e-13] whileFalse: [y := (x/y/y + (2*y)) / 3].
y].
cr := cubeRoot value: 10.
cr asScaledDecimal: 16. "=> 2.1544346900318838s16 "
(cr*cr*cr) asScaledDecimal: 16. "=> 10.0000000000000017s16 "
cr := cubeRoot value: 100.
cr asScaledDecimal: 16. "=> 4.6415888336127792s16 "
(cr*cr*cr) asScaledDecimal: 16. "=> 100.0000000000000284s16 "
|


にしお
#3411()
Rating1/1=1.00
ただし、このお題の趣旨は実数区間での探索なので、 立方根関数があっても使ってはいけません。 指数関数と対数関数も禁止します。
Pythonで表現した入出力の例:
[ reply ]