Racket 球拍分割
今晚我要写我自己的平方根函数。我用Python编写了一个函数,它使用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
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一样)有一个丰富的数字塔,有精确的有理数等。最后使用合理化
来阻止无理数无限膨胀。