#!/usr/bin/perl

use strict;
use warnings;

my $lookahead = 10;
my $loops = 1000000;

for (my $n = 1; $n <= 20; ++$n)
{
	my $failures = 0;

	for (1..$loops)
	{
		my $ntries = 0;
		++$ntries while rand() >= 1.0/$n;
		++$failures if $ntries >= $lookahead;
	}

	printf "%d databases => failure chance with %d lookahead is %.2f%%\n",
		$n, $lookahead, $failures * 100 / $loops;
}
