标签:sum 证明 数学期望 rand color 最小 ota 一个人 fun
10元红包,分给5个人:
最小单位是0.01元
随机
将10元分成10×100分(最小的单位)共1000份
然后分配5个盒子(5人分)
每一份都随机往5个盒子里添加(共1000份)
此方法证明Math.random在多次以后区域平均,不适合多次分配
function redBag(money,num){ //money:总金额 num:人数 var totalSum=money*100;//拆分成最小单元 var arr=[]; for(var i=0;i<num;i++){ arr[i]=0 } for(var j=0;j<totalSum;j++){ arr[Math.floor(Math.random()*num)]+=1//将最小份随机分给某一个人 } for(var k=0;k<num;k++){ console.log(arr[k]/100)//打印出每一份金额 } var tt=0 for(var n=0;n<num;n++ ){ tt+=arr[n]//确认总金额用完 } console.log(tt/100) } redBag(1000,5) //经过测试,金额越大越平均,这叫他喵的数学期望值吧,mmp
标签:sum 证明 数学期望 rand color 最小 ota 一个人 fun
原文地址:http://www.cnblogs.com/carlyin/p/7742855.html