fork download
  1. <?php
  2. $amount=54500;
  3. /*запас наличных*/
  4. $bills=array(
  5. 100=>23,
  6. 500=>5,
  7. 1000=>13,
  8. 5000=>9
  9. );
  10. $bills=array_reverse($bills, true);
  11. var_dump($bills);
  12. $fivek=floor($amount/5000);
  13.  
  14. if($fivek>$bills[5000]){
  15. $fivek=$bills[5000];
  16. }
  17. $rest=$amount-($fivek*5000);
  18. $onek=floor($rest/1000);
  19. if($onek>$bills[1000]){
  20. $onek=$bills[1000];
  21. }
  22. $rest=$rest-($onek*1000);
  23. $fiveh=floor($rest/500);
  24. if($fiveh>$bills[500]){
  25. $fiveh=$bills[500];
  26. }
  27. $rest=$rest-($fiveh*500);
  28. $oneh=floor($rest/100);
  29. if($oneh>$bills[100]){
  30. $oneh=$bills[100];
  31. }
  32. $rest=$rest-($oneh*100);
  33.  
  34. if($rest==0){
  35. echo "сумма $amount\n выданно купюр:\n $fivek x 5000 $onek x 1000 $fiveh x 500 $oneh x 100";
  36. }
  37. else{
  38. echo "Сумма $amount Выдача невозможна";
  39. }
  40.  
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
array(4) {
  [5000]=>
  int(9)
  [1000]=>
  int(13)
  [500]=>
  int(5)
  [100]=>
  int(23)
}
сумма 54500
 выданно купюр:
 9 x 5000 9 x 1000 1 x 500 0 x 100