<?php
error_reporting(-1);
$amount=54500;
/*запас наличных*/
$bills=array(
	100=>23,
	500=>5,
	1000=>13,
	5000=>9
	);
	$bills=array_reverse($bills, true);
	var_dump($bills);
$fivek=floor($amount/5000);

if($fivek>$bills[5000]){
	$fivek=$bills[5000];
}
$rest=$amount-($fivek*5000);
$onek=floor($rest/1000);
if($onek>$bills[1000]){
	$onek=$bills[1000];
}
$rest=$rest-($onek*1000);
$fiveh=floor($rest/500);
if($fiveh>$bills[500]){
	$fiveh=$bills[500];
}
$rest=$rest-($fiveh*500);
$oneh=floor($rest/100);
if($oneh>$bills[100]){
	$oneh=$bills[100];
}
$rest=$rest-($oneh*100);

 if($rest==0){
    echo "сумма $amount\n выданно купюр:\n $fivek x 5000 $onek x 1000 $fiveh x 500 $oneh x 100";
      }
      else{
      	echo "Сумма $amount Выдача невозможна";
      }
