Gray code
(let ((n (read)) (x 3) (l '(0 1))) (dotimes (i (1- n)) (setq l (append l (mapcar #'(lambda (a) (logxor x a)) l)) x (* x 2))) (dolist (c l) (format t "~V,'0B~%" n c)))
といった方法も思いついたんだけど短く書けない。
Cが異様に盛り上がってるなぁ…
(let ((n (read)) (x 3) (l '(0 1))) (dotimes (i (1- n)) (setq l (append l (mapcar #'(lambda (a) (logxor x a)) l)) x (* x 2))) (dolist (c l) (format t "~V,'0B~%" n c)))
といった方法も思いついたんだけど短く書けない。
Cが異様に盛り上がってるなぁ…