二进制搜索和立方体根

时间:2014-09-17 02:43:51

标签: scheme binary-search square-root

假设我们想要使用二进制搜索找到值的立方根。我们希望使用二进制搜索算法进行一系列猜测,以便我们的猜测变得越来越精确,直到它们达到足够接近的阈值。我不确定这个问题从哪里开始。

(define (cube-root n)
    (define lo 0)
    (define hi 0)
    (define mid (/ n 2)
    ;Execute algorithm for more precise guess

1 个答案:

答案 0 :(得分:0)

这是我的实现,有些位被<???>替换,所以你可以自己填写:

(define (cube-root n)
  (define (helper lo hi)
    (define mid <???>)
    (define cube-mid <???>)
    (cond ((< (abs (- cube-mid n)) <???>) mid)
          (<???> (helper lo mid))
          (else (helper mid hi))))
  (if (negative? n)
      (helper <???> <???>)
      (helper <???> <???>)))