The Problem:
I want to generate a list of random values. I want to specify 4 things:
This is my basic approach:
#!/usr/bin/perl -w use strict; my $mystart = 0; # What is the minimum value of random numbers you +want to generate my $myend = 100; # What is the maximum value of the random numbers +to generate my $count = 50; # How many numbers should be generated my $my_average = 50; # What is the decided avarage of the generated + numbers my $number; my @number; my $summ = 0; my $i = 0; my $real_average; print "\nList of random values:\n"; my $start = $mystart; my $end = $myend; while ($i < $count) { $number = rand ($end); if ($number >= $start) { @number = split(/\./, $number); # get integer of float $i++; $summ = $summ + $number[0]; $real_average = $summ / $i; print "Random number: $number[0]\n"; print "Average: $real_average\n\n"; } if ($my_average < $real_average) { # if real avarage is bigger than decided avarage # allow only smaller random numbers $end = $myend / 2; $start = $mystart; } elsif ($my_average > $real_average) { # if real avarage is smaller than decided # allow only bigger random numbers $end = $myend; $start = $myend / 2; } }
All critic, input, code samples, good wishes, etc.. is highly welcome!
All the best for you...LupoX
In reply to list of random numbers with given avarage by LupoX
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |