#!/usr/local/bin/perl5 -w
# a solution to 2.4

$usage = "$0 number_of_rounds\n";
 
(scalar @ARGV) == 1 or die "usage: $usage\n";
$n = $ARGV[0];
$n =~ /^\d+$/ or die "usage: $usage\n";
 
srand;
$grand_out = 0;
foreach (1..$n)
{
    @dice = ();
    foreach (0..2)
    {
        push(@dice, 1+int(rand(6)));
    }
    @d = sort @dice;                           # so will have fewer cases
    $payout = $d[1]*( 2*($d[1]==$d[0]) + 2*($d[1]==$d[2]) - ($d[0]==$d[2]) );
    $payout = 0 if $d[0] == 1 && $d[2] == 1;        # the case 1,1,1
    $grand_out += $payout;
    print "paid in \$3, rolled @dice, paid out \$$payout,",
        " net to you \$",($payout-3),"\n";
}
print "totals for $n rounds: paid in \$", 3*$n, ", paid out \$$grand_out",
    ", net \$", $grand_out-3*$n, "\n";

