<?php

error_reporting(-1);

/* Требуемая сумма */
$amount = 6600;

/* Запас наличных */
$bills = array(
	5000,
	2000,
	500,
	200
);

$billsCount = array(
	1,
	4,
	1,
	3
);

$nominalsCount = count($bills);

for ($i = 0; $i < $nominalsCount; $i++) {

	$j = 0;
	$billsCounter = $billsCount;
	$sum = $bills[$i];
	$billsCounter[$i]--;

	echo "================\n";
	echo "Итерация {$i}\n\nсумма:$sum\n";

	while ($sum < $amount) {
		if ($sum + $bills[$j] <= $amount && $billsCounter[$j] > 0) {
			$sum += $bills[$j];
			$billsCounter[$j]--;
			echo "+ номинал: $bills[$j]\n";
			echo "сумма: $sum\n\n";
		} else {
			$j++;
			if ($j > $nominalsCount - 1) {
				break;
			}
		}
	} 
	if ($sum != $amount) {
		echo "Невозможно выдать\n";
	}
}

?>


