fork(2) download
  1. <?php
  2.  
  3. function getValueBills($num)
  4. {
  5. $arr = [
  6. 5000=>0,
  7. 1000=>0,
  8. 500=>0,
  9. 100=>0];
  10. $x=0;
  11. while(true){
  12. if($num <= 0 || $x>10000){
  13. break;
  14. }
  15. $x++;
  16. foreach($arr as $ri => $rv){
  17. $s = $num / $ri;
  18. if(is_int($s)){
  19. $num -= $ri;
  20. $arr[$ri] += 1;
  21. break;
  22. }
  23. }
  24. }
  25. return $arr;
  26. }
  27.  
  28. function getBillsValue($bills){
  29. $rvalue = 0;
  30. foreach($bills as $item => $value){
  31. $rvalue += $item * $value;
  32. }
  33. return $rvalue;
  34. }
  35.  
  36. $value = 17700;
  37. var_dump($value);
  38. $bills = getValueBills($value);
  39. $value = getBillsValue($bills);
  40. var_dump($bills, $value);
Success #stdin #stdout 0.01s 24404KB
stdin
Standard input is empty
stdout
int(17700)
array(4) {
  [5000]=>
  int(3)
  [1000]=>
  int(2)
  [500]=>
  int(1)
  [100]=>
  int(2)
}
int(17700)