jug7.com
[ home / cgi / juggler / column / diary / bbs / link / welcome ]
source : ボーナスを引ける確率とプレイ数
#!/usr/bin/perl
# ボーナスを引ける確率とゲーム数
$cginame = 'hamari3.cgi';
$title = 'ボーナスを引ける確率とプレイ数';
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
read (STDIN, $input, $ENV{'CONTENT_LENGTH'});
}
$input =~ s/kaku=//;
print "Content-Type: text/html\n\n";
# ヘッダとフォームの表示
print <<"__ HTML __";
<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<html lang='ja'>
<head>
<meta http-equiv='Content-Type' content="text/html; charset=shift_jis">
<title>jug7.com - cgi $title</title>
<style type="text/css"> <!--
A:hover {color:#ff0000;}
--></style>
</head>
<body text='#000000' bgcolor='#ffffff' link='#0000ff' alink='#ff0000' vlink='#0000cc'>
<font size=7><b><font face='Times New Roman,Times'>jug</font><font face='Bookman Old Style,arial black,Helvetica Black'>7</font><font face='Times New Roman,Times'>.com</font></b></font>
<hr color='#00aa00'>
<strong>[ <a href='../index.html'>home</a> / <a href='index.html'>cgi</a> / <a href='../jug/index.html'>juggler</a> / <a href='../column.html'>column</a> / <a href='../diary/index.html'>diary</a> / <a href='bbs.cgi'>bbs</a> / <a href='../link.html'>link</a> / <a href='../intro.html'>welcome</a> ]</strong>
<div align='center'><h2>$title</h2></div>
<hr width='70%'>
<div align='right'>[ <a href='hamari3_memo.html'>memo</a> / <a href='hamari3.html'>source</a> ]</div>
<br><br><center>
<form action='$cginame' method='POST'>
<table border=0>
<tr><td>確率</td><td>1/<input type='text' size=12 maxlength=8 name='kaku' value='$input'></td></tr>
</table><br>
<input type='submit' value="計算開始">
</form>
</center><br><br>
__ HTML __
# エラーチェックと GET での送信
if (!$input) { $error = 1; $er_msg = '確率の分母を記入してください。'; }
if ($input =~ /[^\d\.]/) { $error = 1; $er_msg = '不適切な文字が含まれています。'; }
if ($ENV{'REQUEST_METHOD'} ne 'POST') { $error = 1; $er_msg = 0; }
if ($er_msg) {
print q{<center><b><font color='red' size=4>*** ERROR !! ***</font><br><br>},"\n";
print "$er_msg</b></center>\n";
}
if ($error) {
print '<br><br><br><br><br>';
print q{<div align='right'>[ <a href='hamari3_memo.html'>memo</a> / <a href='hamari3.html'>source</a> ]</div>};
print q{<strong>[ <a href='../index.html'>home</a> / <a href='index.html'>cgi</a> / <a href='../jug/index.html'>juggler</a> / <a href='../column.html'>column</a> / <a href='../diary/index.html'>diary</a> / <a href='bbs.cgi'>bbs</a> / <a href='../link.html'>link</a> / <a href='../intro.html'>welcome</a> ]</strong>};
print '</body></html>';
exit;
}
#------------
# 計算開始
#------------
@per = (0.99, 0.97, 0.95, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.05, 0.03, 0.01, 0.005, 0.003, 0.001, 0.0005);
foreach (@per) {
$x = log($_)/(log(($input-1)/$input)) if ($input && log(($input-1)/$input));
push(@game, $x);
}
@game_input = (1, 5, 10, 20, 30, 40, 50, 70, 100, 120, 150, 180, 200, 250, 300, 400, 500, 600, 700, 800, 900, 1000, 1200, 1500, 2000);
foreach (@game_input) {
$y = (($input-1)/$input)**($_) if $input;
$y = (1 - $y)*100;
push(@per2, $y);
}
$z = (($input-1)/$input)**($input) if $input;
$z = (1 - $z)*100;
$z = int($z*1000+0.5)/1000;
# 結果の表示
print '<table border=0 align=\'center\' cellspacing=20><tr align=\'center\'><td colspan=2>',"\n";
print "<b>1/$input</b> の確率で</td></tr><tr valign='top'><td>\n";
print q{<table border=1 align='center' cellspacing=0>},"\n";
print q{<tr align=center bgcolor='#ffffcc'><td>引ける確率<br>( % )</td><td>ゲーム数<br>( 〜P 以内 )</td></tr>},"\n";
for ($i=0; $i<=$#per; $i++) {
$p = 100 - $per[$i] * 100;
$game = int($game[$i]*10+0.5)/10; # 四捨五入
print "<tr><td align='center'><b>$p %</b></td><td align='right'><b>$game P</b></td></tr>\n";
}
print '</table>',"\n",'</td><td>',"\n",'<table border=1 align=\'center\' cellspacing=0>',"\n";
print '<tr align=center bgcolor=\'#ffffcc\'><td>ゲーム数<br>( 〜P 以内 )</td><td>引ける確率<br>(%)</td></tr>',"\n";
for ($i=0; $i<=$#game_input; $i++) {
$ans_per = int($per2[$i]*1000+0.5)/1000; # 四捨五入
print "<tr><td align='center'><b>$game_input[$i] P</b></td><td align='right'><b>$ans_per %</b></td></tr>\n";
}
print "<tr><td align='center'><b>$input P</b></td><td align='right'><b>$z %</b></td></tr>\n";
print '</table>',"\n",'</td></tr></table>',"\n";
# フッタ
print <<"__ HTML __";
<br><br>
<table border=0 align='center'><tr><td>
70 % の確率で引けるゲーム数が 400 G だとしたら、<br>400 G ハマる確率が 30 % とも言えます。
</td></tr></table><br><br>
<div align='right'>[ <a href='hamari3_memo.html'>memo</a> / <a href='hamari3.html'>source</a> ]</div>
<strong>[ <a href='../index.html'>home</a> / <a href='index.html'>cgi</a> / <a href='../jug/index.html'>juggler</a> / <a href='../column.html'>column</a> / <a href='../diary/index.html'>diary</a> / <a href='bbs.cgi'>bbs</a> / <a href='../link.html'>link</a> / <a href='../intro.html'>welcome</a> ]</strong>
</body></html>
__ HTML __
exit;
[ home / cgi / juggler / column / diary / bbs / link / welcome ]