csum.gvy 341 B

12345678910111213
  1. def num_paths(startsum,lastcoin) {
  2. if (startsum == 250) {return 1}
  3. def paths = 0;
  4. [1,2,5,10,20,50,100,200].each { coin ->
  5. if ((lastcoin>=coin) && (startsum<=(250-coin))) {
  6. paths += num_paths(startsum+coin,coin)
  7. }
  8. }
  9. return paths
  10. }
  11. println(num_paths(args[0].toInteger(), args[1].toInteger()));