csum.php 421 B

12345678910111213141516171819202122
  1. <?php
  2. function num_paths($startsum, $lastcoin) {
  3. static $coins = array(1, 2, 5, 10, 20, 50, 100, 200);
  4. if ($startsum == 250) {
  5. return 1;
  6. }
  7. $paths = 0;
  8. foreach ($coins as $coin) {
  9. if (($lastcoin >= $coin) && ($startsum <= (250 - $coin))) {
  10. $paths += num_paths($startsum + $coin, $coin);
  11. }
  12. }
  13. return $paths;
  14. }
  15. echo num_paths($argv[1], $argv[2]), "\n";
  16. ?>