[ create a new paste ] login | about

Link: http://codepad.org/7w2fXt02    [ raw code | output | fork ]

PHP, pasted on Feb 24:
<?php

/*
$hashes_picked = 100;
$single_collision_odds = 50000;

# safe_combinations is number of ways to pick hashes that don't overlap
$safe_combinations = gmp_fact($single_collision_odds) / gmp_fact($single_collision_odds - $hashes_picked);

# all_combinations is total number of ways to pick hashes
$all_combinations = $single_collision_odds ^ $hashes_picked;

$collision_chance = ($all_combinations - $safe_combinations) / $all_combinations;

print_r(get_defined_vars());
*/

function bp($n, $d) {
    $v = 1.0;

   	for ($i=1; $i <= $n; $i++) {
        $v = $v * (1 - ((float) $i) / $d);
    }

    return 1 - $v;
}

$bp = bp(2, 50000);

var_dump($bp);


Output:
1
float(5.9999200000105E-5)


Create a new paste based on this one


Comments: