fork(1) download
  1. ; next identical popcount
  2.  
  3. (define (popcount n)
  4. (let loop ((n n) (count 0))
  5. (if (zero? n) count
  6. (loop (logand n (- n 1)) (+ count 1)))))
  7.  
  8. (define (next n)
  9. (let ((p (popcount n)))
  10. (do ((n (+ n 1) (+ n 1)))
  11. ((= (popcount n) p) n))))
  12.  
  13. (display (next 15)) (newline)
  14. (display (next 23)) (newline)
Success #stdin #stdout 0.03s 8156KB
stdin
Standard input is empty
stdout
23
27