fork(1) download
  1. <?php
  2. $cash = 3300;
  3. $summary = $cash;
  4. $bills = array(
  5. 100 => 23,
  6. 500 => 5,
  7. 1000 => 0,
  8. 5000 => 77
  9. );
  10.  
  11. krsort($bills);
  12. echo "<pre>";
  13. print_r($bills);
  14. echo "</pre>";
  15. $billSum = array();
  16. foreach ($bills as $key => $value){
  17. $billSum[$key] = $key*$value;
  18. }
  19. $amount = array_sum($billSum);
  20. echo "Доступно на данный момент: $amount <br>";
  21. if ($cash > $amount) echo 'В банкомате недостаточно средств для выдачи денег';
  22. else {
  23.  
  24.  
  25. echo "Вам будет выдано: <br>";
  26.  
  27. foreach ($bills as $key => &$value)
  28. {
  29.  
  30. if ($value != 0)
  31. {
  32.  
  33.  
  34.  
  35. $arg = floor($cash / $key);
  36. if ($arg > $value){
  37. $arg = $value;
  38. }
  39. $sum = $arg * $key;
  40. $cash = $cash - $sum;
  41. $value = $value - $arg;
  42. if ($arg != 0) echo "$arg купюр номиналом $key на сумму $sum <br>";
  43. }
  44. }
  45. echo "Общая сумма: $summary<br>";
  46. }
  47. echo "<pre>";
  48. print_r($bills);
  49. echo "</pre>";
  50.  
  51.  
  52.  
  53.  
  54.  
  55. ?>
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
<pre>Array
(
    [5000] => 77
    [1000] => 0
    [500] => 5
    [100] => 23
)
</pre>Доступно на данный момент: 389800 <br>Вам будет выдано: <br>5 купюр номиналом 500 на сумму 2500 <br>8 купюр номиналом 100 на сумму 800 <br>Общая сумма: 3300<br><pre>Array
(
    [5000] => 77
    [1000] => 0
    [500] => 0
    [100] => 15
)
</pre>