模拟微信抢红包
Console.WriteLine("————————模拟微信抢红包————————\n");
Console.Write("请输入要装入红包的总金额(元):");
double total = Convert.ToDouble( Console.ReadLine()); //红包金额
Console.Write("请输入红包的个数(个):");
double num = Convert.ToDouble( Console.ReadLine()); //红包个数
double min = 0.01; //初始化“红包的最小金额”
Random random = new Random(); //创建随机数对象Random
for(int i = 1; i < num; i++)
{
double safe = (total - (num - i) * min) / (num-i); //通过公式模拟数学中的离散模型
double money=(double)random.Next((int)((safe-min)*100))/ 100 + min; //根据离散模型得到每个红包的金额
total = total - money;//替换total的值
Console.WriteLine("第"+i+"个红包:{0:C}元",money); //输出结果
}
Console.WriteLine("第" + num+ "个红包:{0:C}元", total); //输出结果
Console.ReadLine();