use strict; use warnings; my ($x, $y, $weight, @r) = (5, 10, 2); push @r, multirand($x, $y, $weight) for 1..10000; display(\@r, 50); sub multirand { my ($x, $y, $weight) = @_; return $x * $y ** (rand() ** $weight * (rand() > 0.5 ? 1 : -1)); } sub display { my ($r1, $max) = @_; my (@r2, $skip, $i); $skip = ($#$r1 + 1) / 40; @r2 = sort { $a <=> $b } @$r1; for ($i = 0; $i <= $#r2; $i += $skip) { print 'x' x ($r2[$i] / $max * 80 + 0.5) . "\n"; } }
Output:
x x x xx xx xx xxx xxx xxx xxxx xxxx xxxxx xxxxx xxxxxx xxxxxx xxxxxxx xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In reply to Re: custom random number generator
by TJPride
in thread custom random number generator
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |