CodeIQの「トグルスイッチを切り換えよう! by The Essence of Programming」を解いてみました。
結果は、
でした。正解できてほっとしています。
solv.rb
# -*- coding: utf-8 -*- LEN = 10 states = [] # グレイコードを求める def gray(v) return (v ^ (v >> 1)) end (0...(2**LEN / 2)).each {|i| g = gray(i) states << g states << ~g } states << 0 states.shift states.each {|pat| (0...LEN).each {|i| printf "%d", pat[LEN-(i+1)] } printf "\n" }