Math

冪集合

Rubyで配列の冪集合を返すメソッド。 class Array def powerset power = [] bits = Array.new(self.length){|i| 2**i } (0..2**self.length-1).each do |i| s = [] bits.map{|j| j & i }.each_with_index do |item, index| s.push self[index] unless item =…

組合せの生成

;;; combination.scm (define (getbits n int) (let loop((index 0) (bits '())) (if (= index n) (map (lambda (b) (if b 1 0)) bits) (loop (+ index 1) (cons (logbit? index int) bits))))) (define (next-combination current) (let ((sb (lambda (x) (…