プログラミングの為の数学と算数 vol.2

このエントリーをはてなブックマークに追加
910905
>>908
ありがとう。その式で計算させました。 JavaScriptですが
function combination(n, k)
{
var i,c=1;
for(i=1;i<=k;i++){ c=c*(n+1-i)/i;}
return c;
}
function P(n,k)
{
var p0=1.0/Math.pow(3, 14);
if(k==0) return Math.pow( 1-p0 ,n );
return combination(n, k) * Math.pow(p0,k) * Math.pow( 1-p0 ,n-k );

}

function kangen(CY , X)
{
var i;
var gensi=X*300*0.4+CY;
var umax=6E8;
if(CY==0) umax=3E8;//キャリーが無い時は上限3億円
var sum=0;
for(i=1;i<20;i++) { //iが1当の数
var a=Math.min(gensi/i,umax); //1等の配当は原資を当選数で割った金と上限の小さい方
p=P(X,i);
sum += i*a*p;//当選金総額x確率を掛算
if(p<1E-6)break;//計算誤差が6桁以下になれば終わり
}
return 30+sum/X;
}
911905:2007/06/07(木) 18:43:51
計算結果は、
キャリー 100万口 200万口 300万口 400万口 500万口 600万口 700万口 800万口 900万口
  0億円   53円  71円  79円  82円  86円  86円  88円  89円  89円
  1億円   72円  88円  101円  112円  113円  115円  117円  120円  123円
  2億円   90円  105円  117円  119円  119円  121円  123円  126円  127円
  3億円   109円  122円  126円  124円  125円  126円  129円  130円  130円
  4億円   128円  134円  130円  129円  130円  132円  134円  133円  133円
  5億円   144円  137円  135円  134円  136円  138円  136円  136円  136円
  6億円   145円  140円  139円  140円  142円  140円  139円  139円  139円
  7億円   147円  144円  143円  145円  143円  142円  142円  142円  143円
  8億円   149円  147円  148円  147円  145円  144円  144円  145円  144円
  9億円   151円  150円  150円  148円  147円  146円  147円  147円  146円
 10億円   153円  153円  151円  149円  149円  149円  149円  148円  147円
 11億円   155円  153円  152円  151円  150円  151円  150円  149円  148円
 12億円   155円  154円  152円  152円  152円  151円  150円  150円  150円
キャリーが4億でも還元率は50%の 150円ありません。
そして、いくらキャリーが増えてもやっぱり155円から還元率は増えません。
9億くらいキャリーが溜まって、やっと50%の還元率です。

計算があってるとすればヒドイ設計のクジです。
912905:2007/06/07(木) 18:50:06
あ、全体は、 htmlファイルに

<HTML><HEAD>
</HEAD>
<BODY>
/////////////// この間に >>910 のコードを入れる。///////////

var x,y;
document.write('<TABLE BORDER><TR><TD>キャリー');
for(x=100;x<1000;x+=100)document.write('<TD>'+x+'万口' );
for(y=0;y<20;y=y+1)
{
document.write('<TR>');
document.write('<TD ALIGN=RIGHT>'+y+'億円</TD>');
for(x=100;x<1000;x=x+100){
document.write('<TD ALIGN=RIGHT>'+Math.round(kangen(y*1E8,x*1E4))+'</TD>');
}
document.write('</TR>');
}
</SCRIPT>
</BODY>
</HTML>