csum.rb 319 B

1234567891011121314
  1. def num_paths(startsum,lastcoin)
  2. return 1 if (startsum==250);
  3. paths = 0
  4. [1,2,5,10,20,50,100,200].each do |coin|
  5. if ((lastcoin>=coin) and (startsum<=(250-coin)))
  6. paths = paths + num_paths(startsum+coin,coin)
  7. end
  8. end
  9. paths
  10. end
  11. puts(num_paths(ARGV[0].to_i, ARGV[1].to_i))