fork(2) download
  1. ; mars rover
  2.  
  3. (define (rovers landing1 landing2)
  4. (let loop ((rover1 landing1) (rover2 landing2))
  5. (cond ((= rover1 rover2) rover1)
  6. ((= rover1 landing2)
  7. (let r1 ((rover1 (- rover1 1)))
  8. (if (= rover1 rover2) rover1
  9. (r1 (- rover1 1)))))
  10. ((= rover2 landing1)
  11. (let r2 ((rover2 (- rover2 1)))
  12. (if (= rover1 rover2) rover1
  13. (r2 (- rover2 1)))))
  14. (else (loop (- rover1 1) (- rover2 1))))))
  15.  
  16. (display (rovers 3 6)) (newline)
  17. (display (rovers 6 3)) (newline)
Success #stdin #stdout 0.03s 8144KB
stdin
Standard input is empty
stdout
0
0