fork(3) download
  1. ; two easy tasks
  2.  
  3. (define range
  4. (case-lambda
  5. ((stop) (range 0 stop (if (negative? stop) -1 1)))
  6. ((start stop) (range start stop (if (< start stop) 1 -1)))
  7. ((start stop step)
  8. (let ((le? (if (negative? step) >= <=)))
  9. (let loop ((x start) (xs (list)))
  10. (if (le? stop x) (reverse xs)
  11. (loop (+ x step) (cons x xs))))))
  12. (else (error 'range "too many arguments"))))
  13.  
  14. (display (filter
  15. (lambda (n)
  16. (and (zero? (modulo n 13))
  17. (zero? (modulo n 17))))
  18. (range 500)))
  19. (newline)
  20.  
  21. (define (f n)
  22. (let* ((m (+ #e1e9 7)) (n (modulo n m)))
  23. (modulo (* n (+ n 1) 1/2) m)))
  24.  
  25. (display (f 1234567)) (newline)
Success #stdin #stdout 0.01s 8188KB
stdin
Standard input is empty
stdout
(0 221 442)
78450694.0