import kotlin.math.ln
val EPS = 0.00001
fun f(x: Double, a: Double) : Double {
}
fun DivideEtImpera(lo: Double, hi: Double, a: Double) : Double {
return (lo + hi) / 2.0
} else {
val m:Double = (lo + hi) / 2.0
if(f(m,a)*f(lo,a) < 0) return DivideEtImpera(lo, m, a)
else return DivideEtImpera(m, hi, a)
}
}
fun _ln(a: Double) : Double {
return DivideEtImpera(0.0, a, a)
}
fun main(arr: Array<String>) {
var a: Double = 5.0
println(_ln(a))
println(ln(a))
}
aW1wb3J0IGtvdGxpbi5tYXRoLmFicwppbXBvcnQga290bGluLm1hdGguZXhwCmltcG9ydCBrb3RsaW4ubWF0aC5sbgoKdmFsIEVQUyA9IDAuMDAwMDEKCmZ1biBmKHg6IERvdWJsZSwgYTogRG91YmxlKSA6IERvdWJsZSB7CgoJcmV0dXJuIGV4cCh4KSAtIGEKfQoKZnVuIERpdmlkZUV0SW1wZXJhKGxvOiBEb3VibGUsIGhpOiBEb3VibGUsIGE6IERvdWJsZSkgOiBEb3VibGUgewoJCiAgICBpZihhYnMobG8gLSBoaSkgPCBFUFMpIHsKCiAgICAgICByZXR1cm4gKGxvICsgaGkpIC8gMi4wIAoKICAgIH0gZWxzZSB7CgogICAgICB2YWwgbTpEb3VibGUgPSAobG8gKyBoaSkgLyAyLjAgCgogICAgICBpZihmKG0sYSkqZihsbyxhKSA8IDApIHJldHVybiBEaXZpZGVFdEltcGVyYShsbywgbSwgYSkKCiAgICAgICAgICAgICAgICAgICBlbHNlICAgICAgcmV0dXJuICBEaXZpZGVFdEltcGVyYShtLCBoaSwgYSkKICAgIH0gICAgCn0KCmZ1biBfbG4oYTogRG91YmxlKSA6IERvdWJsZSB7CgkgCiAgICByZXR1cm4gRGl2aWRlRXRJbXBlcmEoMC4wLCBhLCBhKSAKCn0KCmZ1biBtYWluKGFycjogQXJyYXk8U3RyaW5nPikgewoJCgl2YXIgYTogRG91YmxlID0gNS4wCgoJcHJpbnRsbihfbG4oYSkpCglwcmludGxuKGxuKGEpKQp9