csum.cr 333 B

123456789101112131415
  1. def num_paths(startsum : Int,lastcoin : Int)
  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) && (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))