群里都在玩抢红包,抢了再发,发了再抢,简直是无聊,程序员感兴趣是的如何实现,这里简单说说实现思路,附上dome,代码有点low,好在是实现了,具体内容如下
正文
100块发30个红包
50块发13个红包
1块发10个红包
发红包需要满足以下几个条件
1.总金额不变
2.每个红包都必须有钱
3.尽量的均匀点,不然抢红包没什么意思了
实现思路
1.首先要确定最小单位,这里是精确到分,我这里以int类型进行计算,得出的结果也全是int类型
2.数据均匀,这里以 1<n<(剩余金额/剩余红包数)*2,这里防止一个红包抢走大量的钱,这里需要写个递归,去检查数据值是否过大,5