fork download
  1. ; nuts and bolts
  2.  
  3. (define (biggest bolts nuts)
  4. ; assume there exists exactly one bolt bitter than all nuts
  5. (if (null? bolts) #f
  6. (let loop ((bolts (cdr bolts)) (nuts nuts) (biggest (car bolts)))
  7. (cond ((null? nuts) biggest)
  8. ((<= (car nuts) biggest)
  9. (loop bolts (cdr nuts) biggest))
  10. ((null? bolts) #f)
  11. (else (loop (cdr bolts) nuts (car bolts)))))))
  12.  
  13. (display (biggest '() '())) (newline)
  14. (display (biggest '() '(4))) (newline)
  15. (display (biggest '(4) '())) (newline)
  16. (display (biggest '(1 4 2) '(3))) (newline)
  17. (display (biggest '(7 8 9) '(5))) (newline)
  18. (display (biggest '(1 2 3) '(5))) (newline)
Success #stdin #stdout 0.01s 42848KB
stdin
Standard input is empty
stdout
#f
#f
4
4
7
#f