Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

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;

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) {
    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 () {
    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
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"; }

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (2)
As of 2022-07-05 19:31 GMT
Find Nodes?
    Voting Booth?

    No recent polls found