发红包算法简单实现

来源:互联网 发布:知乎 德昌路 编辑:程序博客网 时间:2024/04/29 09:45

没到年底,红包就满天飞,自己实现了个简单的发红包算法,简单测试没发现明显bug,直接上代码了,命名有点不规范


        //分红包
private static void fenhongbao(Random rd, float totalNum, int peopleNum){
float reveage = keep2Dot(totalNum / peopleNum);
System.out.println("平均:" + reveage);
float perNum = 0;
float tmpSum = 0;
for(int i = 0; i < peopleNum; i++){
if(i == (peopleNum - 1)){
perNum = keep2Dot(totalNum - tmpSum);
}else{
float nf = keep2Dot(rd.nextFloat() + 0.5f);
perNum = keep2Dot(nf * reveage);
}
tmpSum += perNum;
System.out.println("第" + (i + 1) + "人" + "领了" + perNum + "元");
}
System.out.println("总共:" + keep2Dot(tmpSum));
}

private static float keep2Dot(float f){
f = Math.round(f * 100) / 100.0f; 
return f;
}

0 0
原创粉丝点击