From: Mike Harris Date: 2005-12-06T00:38:17+09:00 Subject: Re: [QUIZ] Weird Numbers (#57) My solution. Error checking is minimal to nonexistent. class Integer def each_divisor for i in 1...self yield(i) if self%i == 0 end end def weird? sum = 0 each_divisor do |i| sum += i end return false if sum <= self each_divisor do |i| return false if sum-i == self end end end print "Enter Number (Program will print all lesser weird numbers): " num = gets for i in 1...num.to_i puts i if i.weird? end