3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); mb_internal_encoding('UTF-8'); $amount = 54500; $totalCash = 0; $bills = array( 5000 => 200, 1000 => 0, 500 => 5, 100 => 23 ); foreach ($bills as $faceValue => $totalNumberOfBills) { $totalCash += $faceValue * $totalNumberOfBills; } echo "Сумма: {$amount}\n"; if ($amount > $totalCash) { echo "Выдача невозможна: В банкомате отсутствует требуемая сумма.\n"; } elseif ($amount % 100 != 0) { echo "Выдача невозможна: Запрошена неверная сумма (сумма должна быть кратна 100 рублям).\n"; } elseif ($amount <= 0) { echo "Выдача невозможна: Запрошена сумма меньше или равна нуля.\n"; } else { foreach ($bills as $faceValue => $totalNumberOfBills) { /* Кол-во купюр каждого номинала исходя из запрашиваемой суммы */ $numberOfBills = floor($amount / $faceValue); /* Проверка наличия требуемого количества купюр в АТМ */ if ($numberOfBills > $totalNumberOfBills) { $numberOfBills = $totalNumberOfBills; } /* Вычитаем сумму нужных купюр и сохраняем кол-во нужных купюр в отдельный массив */ $amount -= $numberOfBills * $faceValue; $result[] = $numberOfBills; } /* Если в итоге сумма не станет равной нулю, значить в АТМ нет купюр нужного номинала */ if ($amount != 0) { echo "Выдача невозможна: В банкомате отсутствуют купюры нужного номинала."; } else { /* Если сумма равна 0, то АТМ выдает нужную сумму */ echo "Выдача возможна, число купюр:\n"; $result = array_combine($result, array_flip($bills)); foreach ($result as $key => $value) { if ($key != 0) { echo "{$key}x{$value} "; } } } }
Output for git.master, git.master_jit, rfc.property-hooks
Сумма: 54500 Выдача возможна, число купюр: 10x5000 5x500 20x100

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
54.27 ms | 401 KiB | 8 Q