Я играю сегодня вечером, написав свою собственную функцию квадратного корня. Я написал один на 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)])))
Может кто-нибудь отправить меня на нужную страницу документации или предложить альтернативное решение?