object vezbe { def abs(x: Double): Double = if (x < 0) -x else x def sqrt(x: Double) = { def sqrtIter(guess: Double, x: Double): Double = if (isGoodEnough(guess, x)) guess else sqrtIter(improve(guess, x), x) def isGoodEnough(guess: Double, x: Double) = abs(guess * guess - x) < 1e-5 def improve(guess: Double, x: Double) = (guess + x / guess) / 2 sqrtIter(1, x) } def main(args: Array[String]): Unit = { println("Koren od 2 je " + sqrt(2)) } }