分子分母是动态的抽奖的函数该如何写,感谢大侠们,十万火急!!! 比如一等奖1个二等奖2个三等奖3个一共可以抽奖10个,如果是静态的容易了,可是10抽完之后得保证最后所有奖项都抽到了并且不能多抽,所以分子分母是动态的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int n=10;//奖品分数 int m=100;//抽奖人数 int o=0;//抽出次数 for (int i = 1; i <= m; i++) { System.Threading.Thread.Sleep(1);//等待timer更新,防止autoRand.NextDouble()取同一值 Random autoRand = new Random(); double d = autoRand.NextDouble(); double e=((double)n - o) / (m - i+1);//中奖概率为没中出的奖品数除以未进行抽奖的人数 if (d < e) { Console.WriteLine(i.ToString() + "中奖了 d:" + d.ToString() + " e:" + e); o++; }分子分母都是动态了满足你的要求。 c# 如何实现定时发送信息到数据库 WCF学习,第三节 基础问题求助 请问先学C++还是先学C#? 高分求救 用C#获取AD活动目录的数据 登陆密码验证 怪哉! POP收件的问题(解决了再加分) c#程序在自己机子可以运行,在其他没装过C#的机子上运行提示,程序初始化失败,怎么回师? 请教个算法的问题.关于长度下料的 新手提问,下了一个后台管理系统的模板,如何做B/S的监测系统? c#中的bool 可不可以在一个方法里面返回一个接口对象?
int n=10;//奖品分数
int m=100;//抽奖人数
int o=0;//抽出次数
for (int i = 1; i <= m; i++)
{
System.Threading.Thread.Sleep(1);//等待timer更新,防止autoRand.NextDouble()取同一值 Random autoRand = new Random();
double d = autoRand.NextDouble();
double e=((double)n - o) / (m - i+1);//中奖概率为没中出的奖品数除以未进行抽奖的人数
if (d < e)
{
Console.WriteLine(i.ToString() + "中奖了 d:" + d.ToString() + " e:" + e);
o++;
}
分子分母都是动态了满足你的要求。