<?php
//Сколько выдать
$input = 54500;
//Купюры в наличии
100 => 23,
500 => 5,
1000 => 0,
5000 => 200
);
//Количество выданных купюр
100 => 0,
500 => 0,
1000 => 0,
5000 => 0
);
$money = $input;
if ($input < 0) {
$error = 'Сумма меньше нуля';
} elseif (($input % 100) != 0) {
$error = 'Число не кратно ста';
} else {
foreach ($bills as $bill => $count) {
if (($count > 0) && ($money >= $bill)) {
for ($i = 0; $i < $count; $i++) {
$money -= $bill;
$issued[$bill]++;
if ($money < $bill) {
break;
}
}
} else {
continue;
}
}
if ($money != 0) {
$error = 'Недостаточно купюр';
}
$billsCount = '';
foreach ($issued as $bill => $count) {
if ($count != 0) {
$billsCount .= "{$bill}x{$count} ";
}
}
}
echo "Сумма: {$input}\n";
echo "Выдача невозможна: {$error}\n";
} else {
echo "Выдача возможна, число купюр:\n{$billsCount}";
}
PD9waHAKLy/QodC60L7Qu9GM0LrQviDQstGL0LTQsNGC0YwKJGlucHV0ID0gNTQ1MDA7CgovL9Ca0YPQv9GO0YDRiyDQsiDQvdCw0LvQuNGH0LjQuAokYmlsbHMgPSBhcnJheSgKICAgIDEwMCA9PiAyMywKICAgIDUwMCA9PiA1LAogICAgMTAwMCA9PiAwLAogICAgNTAwMCA9PiAyMDAKKTsKJGJpbGxzID0gYXJyYXlfcmV2ZXJzZSgkYmlsbHMsIHRydWUpOwovL9Ca0L7Qu9C40YfQtdGB0YLQstC+INCy0YvQtNCw0L3QvdGL0YUg0LrRg9C/0Y7RgAokaXNzdWVkID0gYXJyYXkoCiAgICAxMDAgPT4gMCwKICAgIDUwMCA9PiAwLAogICAgMTAwMCA9PiAwLAogICAgNTAwMCA9PiAwCik7CiRtb25leSA9ICRpbnB1dDsKCmlmICgkaW5wdXQgPCAwKSB7CiAgICAkZXJyb3IgPSAn0KHRg9C80LzQsCDQvNC10L3RjNGI0LUg0L3Rg9C70Y8nOwp9IGVsc2VpZiAoKCRpbnB1dCAlIDEwMCkgIT0gMCkgewogICAgJGVycm9yID0gJ9Cn0LjRgdC70L4g0L3QtSDQutGA0LDRgtC90L4g0YHRgtCwJzsKfSBlbHNlIHsKICAgIGZvcmVhY2ggKCRiaWxscyBhcyAkYmlsbCA9PiAkY291bnQpIHsKICAgICAgICBpZiAoKCRjb3VudCA+IDApICYmICgkbW9uZXkgPj0gJGJpbGwpKSB7CiAgICAgICAgICAgIGZvciAoJGkgPSAwOyAkaSA8ICRjb3VudDsgJGkrKykgewogICAgICAgICAgICAgICAgJG1vbmV5IC09ICRiaWxsOwogICAgICAgICAgICAgICAgJGlzc3VlZFskYmlsbF0rKzsKICAgICAgICAgICAgICAgIGlmICgkbW9uZXkgPCAkYmlsbCkgewogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgfQoKICAgIGlmICgkbW9uZXkgIT0gMCkgewogICAgICAgICRlcnJvciA9ICfQndC10LTQvtGB0YLQsNGC0L7Rh9C90L4g0LrRg9C/0Y7RgCc7CiAgICB9CgogICAgJGJpbGxzQ291bnQgPSAnJzsKICAgICRpc3N1ZWQgPSBhcnJheV9yZXZlcnNlKCRpc3N1ZWQsIHRydWUpOwogICAgZm9yZWFjaCAoJGlzc3VlZCBhcyAkYmlsbCA9PiAkY291bnQpIHsKICAgICAgICBpZiAoJGNvdW50ICE9IDApIHsKICAgICAgICAgICAgJGJpbGxzQ291bnQgLj0gInskYmlsbH14eyRjb3VudH0gIjsKICAgICAgICB9CiAgICB9Cn0KCmVjaG8gItCh0YPQvNC80LA6IHskaW5wdXR9XG4iOwppZiAoaXNzZXQoJGVycm9yKSkgewogICAgZWNobyAi0JLRi9C00LDRh9CwINC90LXQstC+0LfQvNC+0LbQvdCwOiB7JGVycm9yfVxuIjsKfSBlbHNlIHsKICAgIGVjaG8gItCS0YvQtNCw0YfQsCDQstC+0LfQvNC+0LbQvdCwLCDRh9C40YHQu9C+INC60YPQv9GO0YA6XG57JGJpbGxzQ291bnR9IjsKfQo=