fork(2) download
  1. <?php
  2. $amount=6600;
  3. $bills = array( 100 => 23,
  4. 200 => 3,
  5. 500 => 1,
  6. 1000 => 0,
  7. 2000 => 4,
  8. 5000 => 1
  9. );
  10. echo "Сумма: $amount \n";
  11. if ($amount%100 !=0)
  12. echo "Выдача невозможна: сумма не кратна 100";
  13. else{
  14. $finalstr="Выдача возможна, число купюр: ";
  15. $rbills=array_reverse($bills, true);
  16. foreach ($rbills as $key => $value){
  17. $result=floor($amount/$key);
  18. $bonds=min($result,$value);
  19. $amount=$amount-($bonds*$key);
  20. $finalstr.="$bonds"."x$key ";
  21. if ($amount==0) $success=true;
  22. }
  23. if($success) echo $finalstr;
  24. else echo "Выдача невозможна: не хватает купюр.";
  25. }
Success #stdin #stdout 0.02s 26204KB
stdin
Standard input is empty
stdout
Сумма: 6600 
Выдача возможна, число купюр: 1x5000 0x2000 0x1000 1x500 3x200 5x100