以前ここで有名なBaker, Cooper…の非決定性計算をRubyで解いてみました。コードはこんな感じです。 #!/usr/bin/env ruby module Enumerable def distinct? table = {} each do |e| return false if table[e] table[e] = true end return true end end solve = [] [1, 2, 3, 4, 5].each do |baker| [1, 2, 3, 4, 5].each do |cooper| [1, 2, 3, 4, 5].each do |fletcher| [1, 2, 3, 4, 5].each do |miller| [1, 2, 3, 4, 5].each do |smith| next unless [baker, cooper,