Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (quad-root a b c)
- (define eq (- (* b b) (* (* 4 a) c)))
- (define eqRoot (sqrt eq))
- (define posRoot (/ (+ (- b) eqRoot) (* 2 a)))
- (define negRoot (/ (- (- b) eqRoot) (* 2 a)))
- (define lst '())
- (if (< eq 0); Complex roots
- (begin
- (set! lst (cons posRoot lst))
- (set! lst (cons negRoot lst))))
- (if (> eq 0); Real roots
- (begin
- (if (> posRoot negRoot)
- (begin
- (set! lst (cons posRoot lst))
- (set! lst (cons negRoot lst))))
- (if (< posRoot negRoot)
- (begin
- (set! lst (cons negRoot lst))
- (set! lst (cons posRoot lst))))))
- lst)
- (quad-root 2 9 3)
- (quad-root 1 2 3)
- (quad-root 349 22 3483)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement