Divide(10,40,6);
function Divide(p,m,a){
/*传入人数,总金额,单人上限*/
var arr=[];
nm=m*100;
na=a*100;
/*乘100,便于运算*/
l=p;
/*每次遍历后剩余人数*/
for(i=0;i<p-1;i++){
l--;
arr[i]=roll(nm,l);
/*传入剩余金额及人数*/
nm-=arr[i];
/*剩余金额*/
}
arr[p-1]=nm;
/*最后一个人不用分*/
if(arr[p-1]>na){
return Divide(p,m,a);
}
/*最后一个人如超过上限,重新分*/
return arr.map(function(v,i,arr){
return v=v/100;
});
/*分好了,每个数重新除以100,输出结果*/
/*定义随机函数,传入剩余金钱和人数*/
function roll(o,l){
var b=o-l;
/*每个人至少分1分钱*/
var Max=Math.min(na,b);
return Math.ceil(Math.random()*Max);
}
}
版权声明:本文为qq_33587050原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。