From: Brian Candler Date: 2008-09-05T15:39:24+09:00 Subject: Re: Need a 40 LOC (ignoring comments) to be shorter -- suggestions wanted Verbose and inefficient, but there was a 10 minute limit :-) class Gen include Enumerable def each (3..7).each do |c1| (3..7).each do |c2| next if [c1].include? c2 (3..7).each do |c3| next if [c1,c2].include? c3 (3..7).each do |c4| next if [c1,c2,c3].include? c4 (3..7).each do |c5| next if [c1,c2,c3,c4].include? c5 yield "#{c1}#{c2}#{c3}".to_i, "#{c4}#{c5}".to_i end end end end end end end puts Gen.new.min { |(a,b),(c,d)| a*b <=> c*d }