>>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;
}
あ、全体は、 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>