您的位置:首页 > 其它

派红包随机分配

2015-06-25 09:30 141 查看
import java.util.Random;

public class RedbgTest {

final double minBag = 1;
int myRand(int left,int right){
Random rand=new Random();
int i= rand.nextInt(10000000);
if(left>=right)return left;
else return i%(right-left)+left;
}
//money 金额 , n要给红包的人数
void redBag(double money,int n){
double bag_i,limit;
for(int i=1;i<n;i++){
//随机安全上限【1,limit】 取最大可用金额的平均值
limit = money - minBag*(n- i);
int k = ((n-i)/2);
if(n -i <= 2)
k = n -i;
limit = limit/k;

//limit = (money-(n-i)*minBag)/(n-i);
bag_i = myRand((int)minBag,(int)limit);
money -=bag_i;
System.out.println(String.format("第 %d 个红包:%.2f",i,bag_i));
}
System.out.println(String.format("第 %d 个红包:%.2f",n,money));
}

public static void main(String[] args) {
new RedbgTest().redBag(100,20);
}

}

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: