Racket 球拍分割

Racket 球拍分割,racket,Racket,今晚我要写我自己的平方根函数。我用Python编写了一个函数,它使用round()内置函数来停止循环。然而,我正在重写PLT Racket中的函数,并且很难找到合适的函数来对正方形进行取整,以便比较它们 #lang racket (define (mySqrt of) (mySqrtWrk 0 of of)) (define (mySqrtWrk minv maxv of) (let* ([mid (+ minv (/ (- maxv minv) 2))] [squ

今晚我要写我自己的平方根函数。我用Python编写了一个函数,它使用
round()
内置函数来停止循环。然而,我正在重写PLT Racket中的函数,并且很难找到合适的函数来对正方形进行取整,以便比较它们

#lang racket

(define (mySqrt of)
  (mySqrtWrk 0 of of))

(define (mySqrtWrk minv maxv of)
  (let* ([mid (+ minv (/ (- maxv minv) 2))]
         [squared (* mid mid)])
    (cond
      [(= of squared) mid]     <------ this never evaluates to true
      [(< of squared) (mySqrtWrk minv mid of)]
      [else (mySqrtWrk mid maxv of)])))
#朗球拍
(定义(mySqrt of)
(mySqrtWrk第0页,共页)
(定义(mySqrtWrk minv maxv of)
(设*([mid(+minv(/(-maxv minv)2))]
[平方(*中间)])
(续)

[(=of squared)mid]你可以在中查找
round
floor
,以及更多。但也要注意,Racket(像许多其他Lisp一样)有一个丰富的数字塔,有精确的有理数等。

最后使用
合理化
来阻止无理数无限膨胀。