fork download
  1. ; trailing zero-bits
  2.  
  3. (define (zerobits n)
  4. (let loop ((n n) (b 0))
  5. (if (odd? n) b (loop (/ n 2) (+ b 1)))))
  6.  
  7. (display (zerobits 18)) (display " ")
  8. (display (zerobits 48)) (newline)
  9.  
  10. (define (zerobits n)
  11. (vector-ref (vector 32 0 1 26 2 23 27 0 3 16 24 30 28 11 0 13
  12. 4 7 17 0 25 22 31 15 29 10 12 6 0 21 14 9 5 20 8 19 18)
  13. (modulo (bitwise-and n (- n)) 37)))
  14.  
  15. (display (zerobits 18)) (display " ")
  16. (display (zerobits 48)) (newline)
Success #stdin #stdout 0.01s 7892KB
stdin
Standard input is empty
stdout
1 4
1 4