首页 > 试题

三个骰子出点规律

更新时间:2022-11-16 22:02:43 阅读: 评论:0

2019广西北部湾经济区七年级-一生所爱英文


2022年11月16日发(作者:lol人工智能)

骰⼦点数分布概率问题

今天学习算法的时候碰见⼀个骰⼦点数分布概率的问题:

Dicesimulation.

Thefollowingcodecomputestheexactprobabilitydistribu-tionforthesumoftwodice:

intSIDES=6;

double[]dist=newdouble[2*SIDES+1];

for(inti=1;i<=SIDES;i++)

for(intj=1;j<=SIDES;j++)

dist[i+j]+=1.0;

for(intk=2;k<=2*SIDES;k++)

dist[k]/=36.0;

Thevaluedist[i]erimentstovali-datethiscalculationsimulatingNdicethrows,keepingtrackofthe

frequenciesofoc-currencgedoesNhavetobebefore

yourempiricalresultsmatchtheexactresultstothreedecimalplaces?

其实这道题要做出来的关键就是求出投了n个骰⼦之后所有点数和出现的分布:

先贴代码:

/**

*runexperimentstovalidatethiscalculationsimulatingNdicethrows,

*keepingtrackofthefrequenciesofoccurrenceofeachvaluewhenyoucomputethesumoftworandomintegersbetween1and6.

*HowlargedoesNhavetobebeforeyourempiricalresultsmatchtheexactresultstothreedecimalplaces?

*@authorxiehang

*/

publicclassEx1_1_35{

publicstaticvoidmain(String[]args){

intside=6;

finalintn=3;//numberofdice

doubletotal=(6,n);

int[]a1=newint[6*n+1];//a1isforcalculate

int[]a2=newint[6*n+1];//a2isforstoretheresult

intresult=0;

//forthefirstdice

for(inti=1;i<=side;i++){

a1[i]++;

}

a2=opy(a1);

n("Whenwehave1dice");

rray(a1);

//forthediceafter1

for(inti=2;i<=n;i++){

//eachdicewillscanfromnumber1tothebiggestnumber

for(intk=0;k<6*i+1;k++){

/**

*原理:

*先定义第⼀个骰⼦的所有可能:1-6各出现⼀次

*再接下去的骰⼦进⼊循环:

*已知下⼀次点数k出现的和等于上⼀次的点数为k-1,k-2,k-3,k-4.k-5.k-6出现的和

*e.g.点数7出现的是点数1,2,3,4,5,6出现的和

*以这个原理循环下去

*/

for(intj=1;j<=6;j++){

if(k-j>=0){//k-j相当于上⾯出现的k-1,k-2

result+=a2[k-j];

}

/**

*解释为何要⽤a1,a2两个array操作:

*如果只⽤⼀个a1操作的话,

*前⾯的数变了之后会影响之后的数

*所以要⽤两个array操作

*

*为何不能⽤a1[k]+=a2[k-j]:

*a1[k]之前是有⼀个值的

*所以在加上去也会让结果不正确

*所以引⼊⼀个新的数储存了以后再变0不断转存就可以了

*/

}

a1[k]=result;

result=0;

}

a2=opy(a1);

n("Whenwehave"+i+"dice:");

rray(a2);

}

n("End");

rray(a2);

n("Hereistherate:");

for(inti=1;i<6*n+1;i++){

n("Theratefornumber"+i+"appearsis:"+("%.2f",a2[i]/total*100)+"%");

}

}

}

本文发布于:2022-11-16 22:02:43,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/88/33948.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:who的意思
下一篇:活在当下英文
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图