in reply to RE: Re: New Jersey Lottery Probability
in thread New Jersey Lottery Probability
#!/usr/bin/perl -w
use strict;
use LWP::Simple;
my (@numbers, %normals, %powers, %chiral );
my $content;
unless (defined ($content = get('http://www.powerball.com/results/pbhist.txt'))) {
die "Cannot get PB history.\n";
}
@numbers = split /\n/, $content;
my @data;
foreach my $line (@numbers) {
next if ($line =~ /^!/);
@data = split(/\s/, $line);
shift @data; # throw away the date
$powers{pop @data}++;
my $drawing_odd = 1;
my $drawing_even = 0;
my $group_a = 0;
my $group_b = 0;
my $group_c = 0;
$chiral{total}++;
$chiral{totalnums} += 5;
foreach (@data) {
if ($_ % 2 == 0) {
$chiral{even}++;
$drawing_even++;
} else {
$chiral{odd}++;
$drawing_odd++;
}
if ($_ < 17) {
$chiral{group_a}++;
$group_a++;
} elsif ($_ < 33) {
$chiral{group_b}++;
$group_b++;
} else {
$chiral{group_c}++;
$group_c++;
}
}
$chiral{"${drawing_even}_even"}++;
$chiral{"$group_a-$group_b-$group_c"}++;
foreach (@data) {
# print "Normal: $_\n";
$normals{$_}++;
}
}
print "Normal Pick Rate:\n\n";
my @norm_sort = sort { $normals{$a} <=> $normals{$b} } keys %normals;
foreach (@norm_sort) {
print "$_ :\t($normals{$_})\t", "*" x $normals{$_}, "\n";
}
print "\nPower Pick Rate:\n\n";
my @power_sort = sort { $powers{$a} <=> $powers{$b} } keys %powers;
foreach (@power_sort) {
print "$_ :\t($powers{$_})\t", "*" x $powers{$_}, "\n";
}
print "\nNormal Picks:\t";
print join(" ", sort (@norm_sort0 .. 11)), "\n";
print "\nPower Picks:\t";
print join(" ", sort (@power_sort0 .. 3)), "\n";
print "\nOdd/Even:\n";
printf "\t ODD: %d (%0.1f%%)\n", $chiral{odd}, ($chiral{odd}/$chiral{totalnums})*100;
printf "\tEVEN: %d (%0.1f%%)\n", $chiral{even}, ($chiral{even}/$chiral{totalnums})*100;
printf "\n0 Even/5 Odd: %d (%0.1f%%)\n",
$chiral{"0_even"},
($chiral{"0_even"}/$chiral{total})*100;
printf "1 Even/4 Odd: %d (%0.1f%%)\n",
$chiral{"1_even"},
($chiral{"1_even"}/$chiral{total})*100;
printf "2 Even/3 Odd: %d (%0.1f%%)\n",
$chiral{"2_even"},
($chiral{"2_even"}/$chiral{total})*100;
printf "3 Even/2 Odd: %d (%0.1f%%)\n",
$chiral{"3_even"},
($chiral{"3_even"}/$chiral{total})*100;
printf "4 Even/1 Odd: %d (%0.1f%%)\n",
$chiral{"4_even"},
($chiral{"4_even"}/$chiral{total})*100;
printf "5 Even/0 Odd: %d (%0.1f%%)\n",
$chiral{"5_even"},
($chiral{"5_even"}/$chiral{total})*100;
printf "\n\nGroup A: %d (%0.1f%%)\n",
$chiral{"group_a"},
($chiral{"group_a"}/$chiral{totalnums})*100;
printf "\n\nGroup B: %d (%0.1f%%)\n",
$chiral{"group_b"},
($chiral{"group_b"}/$chiral{totalnums})*100;
printf "\n\nGroup C: %d (%0.1f%%)\n",
$chiral{"group_c"},
($chiral{"group_c"}/$chiral{totalnums})*100;
foreach my $k (sort {$chiral{$a} <=> $chiral{$b}} keys %chiral) {
my $v = $chiral{$k};
if ($k =~ /^\d\-/) {
printf "\n\n%s: %d (%0.1f%%)\n",
$k, $v, ($v/$chiral{total})*100;
}
}
print "\nDisclaimer:\n\tThis is not statistically accurate, except in that the drawings are guaranteed.\nThi
s is just a quick frequency analysis making no pretenses as to predictive accuracy.\n"
Odd/Even:
ODD: 677 (50.5%)
EVEN: 663 (49.5%)
0 Even/5 Odd: 7 (2.6%)
1 Even/4 Odd: 38 (14.2%)
2 Even/3 Odd: 96 (35.8%)
3 Even/2 Odd: 81 (30.2%)
4 Even/1 Odd: 40 (14.9%)
5 Even/0 Odd: 6 (2.2%)
Group A: 464 (34.6%)
Group B: 417 (31.1%)
Group C: 459 (34.3%)
0-5-0: 1 (0.4%)
0-4-1: 3 (1.1%)
1-4-0: 3 (1.1%)
0-1-4: 3 (1.1%)
4-1-0: 4 (1.5%)
4-0-1: 7 (2.6%)
0-2-3: 8 (3.0%)
3-2-0: 9 (3.4%)
1-0-4: 9 (3.4%)
0-3-2: 9 (3.4%)
2-0-3: 11 (4.1%)
2-3-0: 14 (5.2%)
3-0-2: 16 (6.0%)
3-1-1: 20 (7.5%)
1-3-1: 20 (7.5%)
1-1-3: 26 (9.7%)
1-2-2: 33 (12.3%)
2-2-1: 34 (12.7%)
2-1-2: 38 (14.2%)
As you can see, you increase your odds by playing 2 odd/3 even and playing 1-2-2, 2-2-1, or 2-1-2 (e.g. 1-2-2 means 1 ball from first group, 2 balls from second group, 2 balls from third group).
|
|---|