这个程序必须想好它要运行的条件
首先,给定条件:红包的数量不能超过100红包的金额不能大于200
每个人最少分得的金额为0.01
然后,以条件为思路往下进行【没有条件这个功能是不会实现的】
核心思路【分配金额的算法】
一层for循环【这个循环是为了输出红包数量的红包】循环内:
为了不使随机数的值过难匹配,或者说的为了让发送的红包符合统计学的概率(每个人得到的金额在均值左右),我定义一个max=(金额/红包数量)*2;min=0.01; 然后随机数的范围就在min和max之间(怎么取随机数就不再说明)。也就是每次循环完就重新给定一个随机数的范围。(这里的随机数就是每个红包的金额)。
上面进行完成后【最重要的是接下来的两个判断】:
1.先判定,是否总金额额==红包的数量*0.01,如果等于,那么每个人就只能分得0.01,所以这时要输出第 i次~最后一次,红包的金额都为0.01,并break;[不能再往下运行]2.判断如果剩余红包的金额不足以让每一个人最少获得0.01 那么程序返回重新取得红包金额再继续;
上面条件都成立再给 剩余金额,红包金额赋值
最后输出