3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); function nulles($max) { $x = []; for ($i = 1; $i < $max; ++$i) { $md5 = md5((string)$i); $cnt = 0; for ($md_i = 0; $md_i < 32; ++$md_i) { if ($md5[$md_i] !== '0') { break; } ++$cnt; } $x[$cnt] = 1 + ($x[$cnt] ?? 0); } return [$max => $x]; } function raspred($x) { $result = []; foreach ($x as $max => $res) { foreach ($res as $zeros => $count) { $result["от 1 до $max"]["md5 имеет $zeros нулей в начале"] = '1/' . round( $max / $count, 3 ) . ' или ' . round($count / $max * 100, 2) . '%'; } } return $result; } foreach ( [ 5000, 10000, 50000, 100000, 500000, 1000000, 10000000, ] as $size ) { var_dump(raspred(nulles($size))); }
Output for git.master, git.master_jit, rfc.property-hooks
array(1) { ["от 1 до 5000"]=> array(4) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.072 или 93.26%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/15.576 или 6.42%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/384.615 или 0.26%" ["md5 имеет 3 нулей в начале"]=> string(19) "1/2500 или 0.04%" } } array(1) { ["от 1 до 10000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.071 или 93.41%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/15.949 или 6.27%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/384.615 или 0.26%" ["md5 имеет 3 нулей в начале"]=> string(19) "1/2500 или 0.04%" ["md5 имеет 4 нулей в начале"]=> string(20) "1/10000 или 0.01%" } } array(1) { ["от 1 до 50000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.068 или 93.59%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/16.589 или 6.03%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/287.356 или 0.35%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/3571.429 или 0.03%" ["md5 имеет 4 нулей в начале"]=> string(17) "1/50000 или 0%" } } array(1) { ["от 1 до 100000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.069 или 93.58%" ["md5 имеет 1 нулей в начале"]=> string(20) "1/16.54 или 6.05%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/286.533 или 0.35%" ["md5 имеет 3 нулей в начале"]=> string(19) "1/5000 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(17) "1/50000 или 0%" } } array(1) { ["от 1 до 500000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.068 или 93.67%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/16.855 или 5.93%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/269.833 или 0.37%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/4385.965 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(21) "1/83333.333 или 0%" } } array(1) { ["от 1 до 1000000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.067 или 93.68%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/16.862 или 5.93%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/273.973 или 0.37%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/4651.163 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(21) "1/76923.077 или 0%" } }
Process exited with code 137.

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:
34.35 ms | 412 KiB | 5 Q