立方根の計算
Posted feedbacks - Scala
まんまSICPですが。
1 2 3 4 5 6 7 8 9 10 | def cube_root(x:double):double = {
def improve(y:double)= ((y*2)+(x/Math.pow(y,2.0)))/3.0
def good_enough(y:double) = (Math.pow(y,3.0)-x).abs < 1e-13
var guess = 1.0
while(true) {
if(good_enough(guess)) return guess
guess = improve(guess)
}
guess
}
|



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