fork download
  1. ; recursion and iteration
  2.  
  3. (define (gcd-r m n) ; recursive
  4. (if (zero? n) m
  5. (gcd-r n (modulo m n))))
  6.  
  7. (define (gcd-i m n) ; iterative
  8. (while (positive? n)
  9. (let ((t (modulo m n)))
  10. (set! m n)
  11. (set! n t)))
  12. m)
  13.  
  14. (display (gcd-r 35 28)) (newline)
  15. (display (gcd-i 35 28)) (newline)
  16.  
  17. (do ((m 1 (+ m 1))) ((= m 100))
  18. (do ((n 1 (+ n 1))) ((= n 100))
  19. (when (not (= (gcd-r m n) (gcd-i m n)))
  20. (display m) (display " ") (display n) (newline))))
Success #stdin #stdout 1.36s 11080KB
stdin
Standard input is empty
stdout
7
7