■平均出力の手法

例えば0から19までの数字を10000回ランダムに発生させ、
それぞれの数字が何回発生したかを解析するプログラム実行結果

No.00 = 482 times (4.82%)
No.01 = 510 times (5.09%)
No.02 = 517 times (5.17%)
No.03 = 506 times (5.06%)
No.04 = 505 times (5.05%)
No.05 = 462 times (4.62%)
No.06 = 509 times (5.09%)
No.07 = 516 times (5.16%)
No.08 = 523 times (5.23%)
No.09 = 558 times (5.58%)
No.10 = 469 times (4.69%)
No.11 = 483 times (4.83%)
No.12 = 492 times (4.92%)
No.13 = 484 times (4.84%)
No.14 = 519 times (5.19%)
No.15 = 525 times (5.25%)
No.16 = 510 times (5.09%)
No.17 = 454 times (4.54%)
No.18 = 471 times (4.71%)
No.19 = 505 times (5.05%)
-------------------------
ALL = 10000 times




srand(time|$$);

foreach (1 .. 10000) { #10000回ループ

	$count = int rand 20; #0から19までの乱数発生させた整数を得る
	if ($count < 10)  { $count = "0$count"; }
	$BANNERS{($count)[0]}++; $i++; #発生した数字がそれぞれ何回出現したかをカウント

}

foreach (sort keys %BANNERS) {

	$percent = (int(10000 * ($BANNERS{$_} / $i)) / 100); #パーセンテージ計算
	print "No\.$_ = $BANNERS{$_} times ($percent\%)\n"; #カウント結果
	$all = $all + $BANNERS{$_};
}

print "-------------------------\n";
print "ALL = $all times\n\n";