#!/usr/bin/perl -w

use strict;

sub sim_pval {
    my $pval = 0;
    my $i;

    for ($i = 1; $i < 50; $i++) {
        if (int(rand(100)) < 34) {
            if ($pval == 0) {
                $pval = 1;
            }
            else {
                 while (int(rand(100)) < (20 - ($pval * 2))) {
                    $pval++;
                }

                if ($pval >= 5) {
                    return 5;
                }
            } # $pval > 0
        } # if (rand(100) < 34)
    } # for ($i = 1; $i < 50; $i++)

    return $pval;
}

my $i;
my @pvals;

my $tries = 100 * 1000;

for ($i = 0; $i < $tries; $i++) {
    my $pval = sim_pval();
    $pvals[$pval]++;
}

for ($i = 0; $i < 6; $i++) {
    printf("$i: %2.3f\n", ($pvals[$i] || 0) * 100 / $tries);
}

Spoilers/Sentient Weapons/Statistics/pvals.pl (last edited 2006-03-10 17:46:08 by KhymChanur)