3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); $amount = 54500; $amountInAtm = 0; $bills = array( 5000 => 200, 1000 => 0, 500 => 0, 100 => 0, ); foreach ($bills as $key => $value) { $amountInAtm += $key * $value; } if ($amount > $amountInAtm){ echo "Выдача невозможна: в банкомате недостаточно купюр"; exit(); } elseif ($amount <= 0){ echo "Выдача невозможна: требуемая сумма больше или равна 0"; exit(); } elseif ($amount % 100 != 0){ echo "Выдача невозможна: требуемая сумма не кратка 100"; exit(); } echo "Сумма: $amount\n"; $billsForDelivery = array( 5000 => 0, 1000 => 0, 500 => 0, 100 => 0, ); foreach ($bills as $key => $value) { while ($key <= $amount){ $billsForDelivery[$key]++; $amount -= $key; } } echo "Выдача возможна, число купюр:\n"; foreach ($billsForDelivery as $key => $value) { echo "{$value}x{$key} "; }
Output for 7.0.0 - 7.0.24, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
Сумма: 54500 Выдача возможна, число купюр: 10x5000 4x1000 1x500 0x100

preferences:
186.68 ms | 403 KiB | 220 Q