Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Simple Lottery

by xgunnerx (Initiate)
on May 21, 2002 at 22:00 UTC ( #168293=sourcecode: print w/ replies, xml ) Need Help??

Category: Fun Stuff
Author/Contact Info xgunnerx
Description: Simple lottery program. Will stop running and tell you the outcome when all six numbers are met.
#!/usr/bin/perl -w

use strict;
my (%pick, %rand) = ();
my ($plays, $money, $years, $week, $win, $count) = 0;
srand();

print "How many times do you play the lottery every week?\n";
chomp(my $wcheck = <>);
$week = ($wcheck * 52);

print "Please enter 6 numbers for the lottery: \n";
while ($count < 6) {
    $count++;
    print "Enter lottery number $count: ";
    chomp(my $num = <>);
    $count-- and print "That is not a valid input, please enter a numb
+er between 1 and 54\n" and next if $num > 54 || !($num =~ /^\d+$/);
    $pick{"$count"} = "$num";
}

## Start our search!
while () {
    $plays++;
    undef $win;
    my $i = 0;
    while ($i <= 6) { $i++; $rand{$i} = int(rand(54)) + 1;}
    foreach my $x (keys (%rand)) {
        foreach my $y (keys(%pick)) {
            $win++, next if $pick{$y} == $rand{$x};
            }
        }
    $money += 1000000 and last if $win == 6;
    $money += 1000 if $win == 5;
    $money += 100 if $win == 4;
    $money += 5 if $win == 3;
    print "We won \$$money dollars so far, in $plays plays\n";
}
print "We won \$$money dollars in $plays plays!\n";

## Figure out how long it took us to hit the jackpot and print finding
+s
if ($plays >= $week) {
    $years = sprintf "%.1f", ($plays / $week);
    print "It took us $years years to hit the jackpot at $wcheck plays
+ a week. We won \$$money dollars!\n";
}
else { print "It took us less than a year to hit the jackpot. We won \
+$$money dollars!\n"; }

Comment on Simple Lottery
Download Code

Back to Code Catacombs

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://168293]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (9)
As of 2015-07-31 17:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (279 votes), past polls