
http://programmingpraxis.com/2012/06/15/counting-ones/
By: a guest on
Jun 15th, 2012 | syntax:
Lisp | size: 0.27 KB | hits: 37 | expires: Never
(defun digits (n &optional (b 10))
(loop for i = n then (floor i b) with lst = ()
do (push (mod i b) lst)
while (> i (1- b))
finally (return lst)))
(defun onep (n) (equal 1 n))
(defun count-ones (n)
(reduce #'+ (remove-if-not #'onep (digits n))))