Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;; root : Number Number -> Number
- ; generalized form of sqrt* function; finds the root of given number
- ;(check-expect (root 9 2) 3) approximatelly
- ;(check-expect (root 0 123) 0) approximatelly
- ;(check-expect (root -1 2) 0+1i) approximatelly
- ;(check-expect (root -4 2) 0+2i) approximatelly
- (define (root n m)
- (root-iter 1.0 n m))
- ; root-iter: Number Number Number _> number
- ; consumes guess, x, y where resulting value is equal to x^1/y
- ; cannot provide examples
- (define (root-iter guess n m)
- (if (root-good-enough? guess n m)
- guess
- (root-iter (root-improve guess n m) n m)))
- ;root-good-enough?: number number number -> number
- ;checks whether given guess is near the given x by 0.001 much
- (define (root-good-enough? guess n m)
- (< (abs (- n (expt guess m))) 0.001))
- ;root-improve: number number -> number
- (define (root-improve guess n m)
- (/ (+ guess (/ n (expt guess (- m 1)))) 2))
- (define (getridoffraction x) (/ 1000000000 (round (* 1000000000 x))))
Add Comment
Please, Sign In to add comment