3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); $bills = [2, 5, 20, 50]; $count = [3, 1, 4, 1]; $amount = 66; define('BIG_INT', 1000000000); $F = []; $F[0] = 0; $B[0] = [0, 0, 0, 0]; for ($m = 1; $m <= $amount; $m++) { $F[$m] = BIG_INT; foreach ($bills as $key) { $B[$m][] = 0; } for ($i = 0; $i < count($bills); $i++) { if ($m >= $bills[$i] && $F[$m - $bills[$i]] + 1 < $F[$m] && $count[$i] != 0) { if ($B[$m - $bills[$i]][$i] + 1 > $count[$i]) { continue; } else { $B[$m] = $B[$m - $bills[$i]]; $F[$m] = $F[$m - $bills[$i]] + 1; $B[$m][$i]++; } } } } if (array_sum($B[$amount]) > 0) { echo "Выдать сумму $amount можно так:\n"; foreach ($bills as $key => $value) { if ($B[$amount][$key] != 0) { $sum = $B[$amount][$key] * $value; echo "{$B[$amount][$key]} * $value = " . $sum . "\n"; } } } else { echo "Сумму нельзя выдать\n"; }

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.4.130.0100.01117.84
8.4.120.0090.00920.66
8.4.110.0130.00722.50
8.4.100.0080.01219.49
8.4.90.0130.00818.43
8.4.80.0050.00419.45
8.4.70.0090.00818.01
8.4.60.0090.01218.88
8.4.50.0140.00919.39
8.4.40.0130.00717.82
8.4.30.0200.00020.72
8.4.20.0090.01217.87
8.4.10.0100.01024.11
8.3.250.0080.01118.88
8.3.240.0110.00916.75
8.3.230.0070.01016.56
8.3.220.0110.00717.30
8.3.210.0060.00218.61
8.3.200.0030.00616.69
8.3.190.0090.00917.12
8.3.180.0100.00916.73
8.3.170.0070.01118.91
8.3.160.0120.00618.26
8.3.150.0100.00719.04
8.3.140.0070.01119.21
8.3.130.0170.00018.61
8.3.120.0030.00620.83
8.3.110.0080.00020.94
8.3.100.0050.00524.06
8.3.90.0060.00326.77
8.3.80.0060.00316.88
8.3.70.0130.00616.63
8.3.60.0070.01418.43
8.3.50.0130.00316.32
8.3.40.0030.01020.42
8.3.30.0100.00719.88
8.3.20.0070.00024.18
8.3.10.0000.00824.66
8.3.00.0080.00026.16
8.2.290.0100.00820.65
8.2.280.0050.00318.78
8.2.270.0080.00020.56
8.2.260.0140.00416.51
8.2.250.0060.00918.13
8.2.240.0030.00617.25
8.2.230.0120.00322.58
8.2.220.0090.00037.54
8.2.210.0090.00926.77
8.2.200.0090.00016.88
8.2.190.0170.00316.75
8.2.180.0040.01118.42
8.2.170.0070.00722.96
8.2.160.0070.00722.96
8.2.150.0040.00425.66
8.2.140.0080.00024.66
8.2.130.0000.00726.16
8.2.120.0060.00321.09
8.2.110.0040.00720.81
8.2.100.0040.00817.72
8.2.90.0000.00818.16
8.2.80.0080.00020.53
8.2.70.0120.00879.33
8.2.60.0160.00479.33
8.2.50.0160.00379.33
8.2.40.0150.00479.33
8.2.30.0170.00279.33
8.2.20.0180.00479.33
8.2.10.0130.00379.33
8.2.00.0100.00579.33
8.1.330.0150.00722.11
8.1.320.0050.00216.38
8.1.310.0080.00016.73
8.1.300.0110.00418.51
8.1.290.0040.00830.84
8.1.280.0040.01525.92
8.1.270.0080.00024.66
8.1.260.0000.00826.35
8.1.250.0080.00028.09
8.1.240.0040.00423.91
8.1.230.0080.00320.92
8.1.220.0040.00417.74
8.1.210.0030.00618.82
8.1.200.0150.00479.33
8.1.190.0120.00679.33
8.1.180.0130.00879.33
8.1.170.0120.00479.33
8.1.160.0130.00379.33
8.1.150.0000.01779.33
8.1.140.0110.00579.33
8.1.130.0080.00879.33
8.1.120.0000.01879.33
8.1.110.0080.00879.33
8.1.100.0060.01179.33
8.1.90.0140.00379.33
8.1.80.0120.00579.33
8.1.70.0140.00279.33
8.1.60.0110.00779.33
8.1.50.0090.00979.33
8.1.40.0200.00079.33
8.1.30.0060.01279.33
8.1.20.0130.00479.33
8.1.10.0190.00079.33
8.1.00.0160.00479.33
8.0.300.0070.00020.02
8.0.290.0170.00079.33
8.0.280.0130.00479.33
8.0.270.0120.00679.33
8.0.260.0100.00779.33
8.0.250.0160.00079.33
8.0.240.0140.00379.33
8.0.230.0100.00379.33
8.0.220.0120.00479.33
8.0.210.0110.00679.33
8.0.200.0150.00479.33
8.0.190.0060.01179.33
8.0.180.0190.00379.33
8.0.170.0130.00379.33
8.0.160.0160.00079.33
8.0.150.0100.00779.33
8.0.140.0130.00379.33
8.0.130.0080.00879.33
8.0.120.0180.00379.33
8.0.110.0120.00579.33
8.0.100.0120.00579.33
8.0.90.0110.00579.33
8.0.80.0150.00279.33
8.0.70.0160.00079.33
8.0.60.0100.00679.33
8.0.50.0050.01179.33
8.0.30.0150.00279.33
8.0.20.0100.00779.33
8.0.10.0140.00379.33

preferences:
27.66 ms | 403 KiB | 5 Q