fork download
  1. ; division by repeated subtraction
  2.  
  3. (define (divide n d)
  4. (if (< n d)
  5. 0
  6. (+ (divide (- n d) d) 1)))
  7.  
  8. (display (divide 29 4)) (newline)
  9.  
  10. (define (divide n d)
  11. (define (divide-helper q r)
  12. (if (< r d)
  13. (values q r)
  14. (divide-helper (+ q 1) (- r d))))
  15. (divide-helper 0 n))
  16.  
  17. (call-with-values
  18. (lambda () (divide 29 4))
  19. (lambda (q r)
  20. (display q) (newline)
  21. (display r) (newline)))
Success #stdin #stdout 0.01s 42848KB
stdin
Standard input is empty
stdout
7
7
1