200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 生男女比例题解

生男女比例题解

时间:2021-07-06 16:53:59

相关推荐

生男女比例题解

题目:有一个国家(我发誓不是中国 - 译者),人人希望生男孩,每个家庭都会不断地要孩子,如果是女孩,会继续要,直到生下男孩为止,最终这个国际的男女比例将是多少?

/****题目:有一个国家(我发誓不是中国-译者),人人希望生男孩,每个家庭都会不断地要孩子,如果是女孩,会继续要,直到生下男孩为止,最终这个国际的男女比例将是多少?**生男女,假设生到第n个是男孩。*男:女=n/(1+...n-1)*取概率*加权平均*n=1加权值0.5*n=2加权值0.25....*然后算出合理的n值*就可以得出男女比例*男:女=n/(1+...n-1)=n/((1+n-1)*(n-1)/2)=2/n-1#n!=1,{n=1|1}*@parammax*生n(n=max)个,包含了生n-1,n-2...1的可能性。*/publicstaticvoidcalcRate(intmax){List<Integer>girlList=newArrayList<Integer>();//生女概率 List<Double>girlRate=newArrayList<Double>();for(intn=1;n<=max;n++){if(n==1){girlList.add(0);}else{//1+2+...+(n-1) inttotal=0;for(inti=1;i<n;i++){total+=i;}girlList.add(total);}doublecurrentGirlRate=Math.pow(0.5f,n);girlRate.add(currentGirlRate);}doublerate=0;for(inti=0;i<max;i++){//附上加权值 if(i==0){rate+=1*(1-girlRate.get(i));}else{rate+=(1d/girlList.get(i))*(1-girlRate.get(i));}}NumberFormatnf=NumberFormat.getNumberInstance();System.out.println("生"+max+"个,男:女="+nf.format(rate));}

运行结果:

生n个,包含了生n-1,n-2...1的可能性。

//生2个,男:女=1.25

//生3个,男:女=1.542

//生4个,男:女=1.698

//生5个,男:女=1.795

//生6个,男:女=1.86

//生7个,男:女=1.908

//生8个,男:女=1.943

//生9个,男:女=1.971

//生10个,男:女=1.993

//生100个,男:女=2.173

//生1000个,男:女=2.191

//生10000个,男:女=2.193

//生100000个,男:女=2.193

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。