?

Log in

No account? Create an account
a_fixxer
Школьная задачка 
6-фев-2008 12:22 am
Попался вопрос на форуме
Вроде задачка алгоритмически не сложна. Вопрос в компактности записи. У меня получилось так

def items(b)
  result = [[b]]
  (1..(b - 1)).each do |i|
    items(b - i).each do |j| 
      result.push(([i] + j).sort) 
    end
  end
  return result.sort
end
p items(5).uniq.reverse

[[5], [2, 3], [1, 4], [1, 2, 2], [1, 1, 3], [1, 1, 1, 2], [1, 1, 1, 1, 1]]


Душевно. Мне все больше нравится ruby тем, что можно просто делать простые вещи.
Причем я уверен, что то же самое можно сделать еще компактнее. Просто я еще не зняю всех фишек.
This page was loaded июн 24 2019, 9:19 am GMT.