Posted by alg_group_members.rb on Sun 27 Nov 2011 18:31:59 CET
download |
new post
#!/usr/bin/env ruby def group_members(size, operation) a = [ ] case operation when '+' 0.upto(size-1){|i| a << i } when '*' dropped = [ ] 2.upto(size-1){|i| res = size/i.to_f if res != res.to_i then no_other = true dropped.each{|j| no_other = false if i%j == 0 } a << i if no_other == true else dropped << i end } a.insert(0, 1) # 0 is position end return a end