<?php
/* требуемая сумма */
$amount = 54500 ;
100 => 23 ,
500 => 5 ,
1000 => 0 ,
5000 => 200
) ;
function foo( $amount , $bills ) {
$result = "" ;
//переворачиваем массив, начинаем проверку с наибольшего наминала.
foreach ( $rev as $key => $value ) {
//находим количество купюр текущего наминала в текущем числе
$countMoney = floor ( $amount / $key ) ; echo "Количество купюр наминалом {$key} в числе {$amount} : {$countMoney} \n " ;
echo "Количество купюр наминалом {$key} в банкомате {$value} \n " ;
//если количество купюр в числе больше чем в банкомате
if ( $countMoney > $value ) {
//присваиваем максимальное количество купюр из банкомата
$countMoney = $value ;
}
//обновляем число (новое значение = текущее значение - текущее кол-во купюр * текущий наминал)
$amount -= $countMoney * $key ;
$result = $result . " {$countMoney} x {$key} " ;
echo "Число после выдаче всех возможных купюр наминалом {$key} : {$amount} \n " ;
echo "\n " ;
}
return $result ;
}
echo "Сумма {$amount} \n Выдача возможна, число купюр \n " ;
echo foo( $amount , $bills ) ;
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7CgovKiDRgtGA0LXQsdGD0LXQvNCw0Y8g0YHRg9C80LzQsCAqLwokYW1vdW50ID0gNTQ1MDA7CgokYmlsbHMgPSBhcnJheSgKICAgIDEwMCA9PiAyMywKICAgIDUwMCA9PiA1LAogICAgMTAwMCA9PiAwLAogICAgNTAwMCA9PiAyMDAKKTsKCmZ1bmN0aW9uIGZvbygkYW1vdW50LCAkYmlsbHMpIHsKCSRyZXN1bHQgPSAiIjsKCS8v0L/QtdGA0LXQstC+0YDQsNGH0LjQstCw0LXQvCDQvNCw0YHRgdC40LIsINC90LDRh9C40L3QsNC10Lwg0L/RgNC+0LLQtdGA0LrRgyDRgSDQvdCw0LjQsdC+0LvRjNGI0LXQs9C+INC90LDQvNC40L3QsNC70LAuCgkkcmV2ID0gYXJyYXlfcmV2ZXJzZSgkYmlsbHMsIHRydWUpOwoJdmFyX2R1bXAgKCRyZXYpOwoJZm9yZWFjaCAoJHJldiBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCS8v0L3QsNGF0L7QtNC40Lwg0LrQvtC70LjRh9C10YHRgtCy0L4g0LrRg9C/0Y7RgCDRgtC10LrRg9GJ0LXQs9C+INC90LDQvNC40L3QsNC70LAg0LIg0YLQtdC60YPRidC10Lwg0YfQuNGB0LvQtQoJCSRjb3VudE1vbmV5ID0gZmxvb3IoJGFtb3VudCAvICRrZXkpOwoJCWVjaG8gItCa0L7Qu9C40YfQtdGB0YLQstC+INC60YPQv9GO0YAg0L3QsNC80LjQvdCw0LvQvtC8IHska2V5fSDQsiDRh9C40YHQu9C1IHskYW1vdW50fTogeyRjb3VudE1vbmV5fSBcbiI7CgkJZWNobyAi0JrQvtC70LjRh9C10YHRgtCy0L4g0LrRg9C/0Y7RgCDQvdCw0LzQuNC90LDQu9C+0LwgeyRrZXl9INCyINCx0LDQvdC60L7QvNCw0YLQtSB7JHZhbHVlfSBcbiI7CgkJLy/QtdGB0LvQuCDQutC+0LvQuNGH0LXRgdGC0LLQviDQutGD0L/RjtGAINCyINGH0LjRgdC70LUg0LHQvtC70YzRiNC1INGH0LXQvCDQsiDQsdCw0L3QutC+0LzQsNGC0LUKCQlpZiAoJGNvdW50TW9uZXkgPiAkdmFsdWUpewoJCQkvL9C/0YDQuNGB0LLQsNC40LLQsNC10Lwg0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INC60YPQv9GO0YAg0LjQtyDQsdCw0L3QutC+0LzQsNGC0LAKCQkJJGNvdW50TW9uZXkgPSAkdmFsdWU7CgkJfQoJCS8v0L7QsdC90L7QstC70Y/QtdC8INGH0LjRgdC70L4gKNC90L7QstC+0LUg0LfQvdCw0YfQtdC90LjQtSA9INGC0LXQutGD0YnQtdC1INC30L3QsNGH0LXQvdC40LUgLSAg0YLQtdC60YPRidC10LUg0LrQvtC7LdCy0L4g0LrRg9C/0Y7RgCAqINGC0LXQutGD0YnQuNC5INC90LDQvNC40L3QsNC7KQoJCSRhbW91bnQgLT0gJGNvdW50TW9uZXkgKiAka2V5OwoJCSRyZXN1bHQgPSAkcmVzdWx0IC4gIiB7JGNvdW50TW9uZXl9IHggeyRrZXl9IjsKCQllY2hvICLQp9C40YHQu9C+INC/0L7RgdC70LUg0LLRi9C00LDRh9C1INCy0YHQtdGFINCy0L7Qt9C80L7QttC90YvRhSDQutGD0L/RjtGAINC90LDQvNC40L3QsNC70L7QvCB7JGtleX06IHskYW1vdW50fSBcbiI7CgkJZWNobyAiXG4iOwoJfQoJCglyZXR1cm4gJHJlc3VsdDsKfQoKZWNobyAi0KHRg9C80LzQsCB7JGFtb3VudH0gXG4g0JLRi9C00LDRh9CwINCy0L7Qt9C80L7QttC90LAsINGH0LjRgdC70L4g0LrRg9C/0Y7RgCBcbiAiOwplY2hvIGZvbygkYW1vdW50LCAkYmlsbHMpOyA=