fork(2) download
  1. #!/usr/bin/perl
  2. # your code goes here
  3.  
  4. sub f
  5. {
  6. my $n = $_[0];
  7. if(!$n)
  8. {
  9. return 1;
  10. }
  11. foreach $o(40,20,9,10,6,4)
  12. {
  13. if($n>=$o&&f($n-$o))
  14. {
  15. print "$o ";
  16. return 1;
  17. }
  18. }
  19. return 0;
  20. }
  21.  
  22.  
  23. @list = (1, 3, 5, 4, 6, 9, 10, 20, 40, 199, 400, 36, 43);
  24.  
  25. foreach $n (@list) {
  26. print $n;
  27. print " : ";
  28. if(!f($n)) {
  29. print ":(\n";
  30. } else {
  31. print "\n";
  32. }
  33. }
  34.  
Success #stdin #stdout 0s 6044KB
stdin
Standard input is empty
stdout
1 : :(
3 : :(
5 : :(
4 : 4 
6 : 6 
9 : 9 
10 : 10 
20 : 20 
40 : 40 
199 : 10 9 20 40 40 40 40 
400 : 40 40 40 40 40 40 40 40 40 40 
36 : 6 10 20 
43 : 4 10 9 20