Advertisement
mos_basik

Sum of squares of two largest (buggy)

Jan 31st, 2013
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 0.87 KB | None | 0 0
  1. #lang racket
  2. (require htdp/testing)
  3.  
  4. (define (sum-of-squares-of-two-largest a b c)
  5.   (define (sum-square x y)
  6.     (+ (* x x) (* y y)) )
  7.   (cond ((and (< a b) (< a c))
  8.          (sum-square b c))
  9.         ((and (< b c) (< b a))
  10.          (sum-square a c))
  11.         (else (sum-square a b) ) ) )
  12.  
  13. ;; all different numbers
  14. (check-expect (sum-of-squares-of-two-largest 1 2 3) 13)
  15.  
  16. ;; small pair in all locations
  17. (check-expect (sum-of-squares-of-two-largest 2 2 3) 13)
  18. (check-expect (sum-of-squares-of-two-largest 2 3 2) 13)
  19. (check-expect (sum-of-squares-of-two-largest 3 2 2) 13)
  20.  
  21. ;; large pair in all locations
  22. (check-expect (sum-of-squares-of-two-largest 2 3 3) 18)
  23. (check-expect (sum-of-squares-of-two-largest 3 2 3) 18)
  24. (check-expect (sum-of-squares-of-two-largest 3 3 2) 18)
  25.  
  26. ;; all same numbers
  27. (check-expect (sum-of-squares-of-two-largest 2 2 2) 8)
  28.  
  29. (generate-report)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement