(map (λ (x) (eqv? x #1)) (string->list (number->string 12345 2))) (define (permutations size elements) (if (zero? size) '(()) (append-map (lambda (p) (map (lambda (e) (cons e p)) elements)) (permutations (sub1 size) elements)))) (permutations 3 '(#t #f)) => '((#t #t #t) (#f #t #t) (#t #f #t) (#f #f #t) (#t #t #f) (#f #t #f) (#t #f #f) (#f #f #f))