今晚我正在玩我自己的平方根函数。我在Python中编写了一个使用round()
内置函数来停止循环的函数。但是,我正在重写PLT Racket中的函数,并且无法找到正确的 round 方格函数,以便我可以比较它们。
#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)])))
有人可以将我发送到正确的文档页面或建议替代解决方案吗?
答案 0 :(得分:2)
您可以在Racket documentation中查找round
,floor
,quotient
等等。但请注意,Racket(与许多其他lisps一样)具有丰富的数字塔,具有精确的理性等。