3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); $amount = 53000; $bills = array( 5000 => 10, 1000 => 0, 500 => 5, 100 => 23 ); $answer = array(); echo "Сумма: {$amount}\n"; if ($amount <= 0){ echo "Выдача невозможна: введенная сумма меньше или равна 0\n"; }else if ($amount % 100 <> 0){ echo "Выдача невозможна: введенная сумма не кратна 100\n"; }else { foreach($bills as $par => $quantity){ $i = floor($amount/$par); if ($i > 0 && $quantity > 0){ if ($i <= $quantity){ $amount = $amount - $par * $i; $answer[] = $i . "X" . $par; }else { $amount = $amount - $par * $quantity; $answer[] = $quantity . "X" . $par; } } } if ($amount == 0){ echo "Выдача возможна, число купюр:\n"; $string = implode(" ", $answer); echo "{$string}\n"; }else { echo "Выдача невозможна, недостаточно купюр.\n"; } }
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 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
Сумма: 53000 Выдача возможна, число купюр: 10X5000 5X500 5X100

preferences:
206.36 ms | 403 KiB | 287 Q