不知道各位有没有关于中奖的好的算法,希望能分享分享,呵呵!
中奖率的算法,现在还有点蒙,呵呵。指点迷津哦!
19 个解决方案
#1
#2
#3
在1~n范围内随机选7个不重复的数字作为中奖人
http://topic.csdn.net/u/20081229/09/7dadbe7c-264f-4b5e-8c64-0ea13649672a.html
http://topic.csdn.net/u/20081229/09/7dadbe7c-264f-4b5e-8c64-0ea13649672a.html
#4
有啊,就是很普通的 抽奖算法!
类似双色球,你可以搞个简单的:
比如10个球 0-9,用户页面选5个球,且顺序一定:52130
然后你 算法中在0-9中随机取5个数,组合字符串 和 用户选的进行比对,相同就中奖,不同就没中。
---------------------
记得以前一个公司,领导让我写一个。
我就写了一个,然后我说中奖概率是1/100。
领导说: 这么高??? 1/10000
我:...
类似双色球,你可以搞个简单的:
比如10个球 0-9,用户页面选5个球,且顺序一定:52130
然后你 算法中在0-9中随机取5个数,组合字符串 和 用户选的进行比对,相同就中奖,不同就没中。
---------------------
记得以前一个公司,领导让我写一个。
我就写了一个,然后我说中奖概率是1/100。
领导说: 这么高??? 1/10000
我:...
#6
#7
不懂ASP,不过还是谢谢了。呵呵
#8
公司搞抽奖 中奖率 1/1200
#9
举个例子:比如中奖数字为5位数,并且每一位数字可以重复出现,每一位数字可以是在1到10之间,那么总的组合情况就有10*10*10*10*10=100000,那么你买一注的中奖率就是1/100000
public double RtnResult(int numCount, int MinNum, int MaxNum, bool isRepeat)
{
if (isRepeat)//每一个数字支持重复出现
{
return 1 / Math.Pow((MaxNum - MinNum + 1), numCount);
}
else
{
int totalcount = 0;
int totalnum = MaxNum - MinNum + 1;
for (int i = 0; i < numCount; i++)
{
totalcount = totalcount * (totalnum);
totalnum -= 1;
}
return 1 / totalcount;
}
}
#10
类型可以用long类型
#11
怎么控制中奖率呢
#12
这个中奖率是根据你的中奖数据来的啊!!!中奖位数,每一位数的取值范围,以及每一位数是否可以重复啊!
#13
现在中奖率是 1/1200这个怎么设置中奖方法呢?
#14
好像用高中数学里的阶乘
#15
#16
换马甲了。。。
#17
不太了解,帮顶下
#18
15楼被删除了?我怎么看不到了呢
#19
0000000000000000000000000000000000000000000
#20
#1
#2
#3
在1~n范围内随机选7个不重复的数字作为中奖人
http://topic.csdn.net/u/20081229/09/7dadbe7c-264f-4b5e-8c64-0ea13649672a.html
http://topic.csdn.net/u/20081229/09/7dadbe7c-264f-4b5e-8c64-0ea13649672a.html
#4
有啊,就是很普通的 抽奖算法!
类似双色球,你可以搞个简单的:
比如10个球 0-9,用户页面选5个球,且顺序一定:52130
然后你 算法中在0-9中随机取5个数,组合字符串 和 用户选的进行比对,相同就中奖,不同就没中。
---------------------
记得以前一个公司,领导让我写一个。
我就写了一个,然后我说中奖概率是1/100。
领导说: 这么高??? 1/10000
我:...
类似双色球,你可以搞个简单的:
比如10个球 0-9,用户页面选5个球,且顺序一定:52130
然后你 算法中在0-9中随机取5个数,组合字符串 和 用户选的进行比对,相同就中奖,不同就没中。
---------------------
记得以前一个公司,领导让我写一个。
我就写了一个,然后我说中奖概率是1/100。
领导说: 这么高??? 1/10000
我:...
#5
#6
#7
不懂ASP,不过还是谢谢了。呵呵
#8
公司搞抽奖 中奖率 1/1200
#9
举个例子:比如中奖数字为5位数,并且每一位数字可以重复出现,每一位数字可以是在1到10之间,那么总的组合情况就有10*10*10*10*10=100000,那么你买一注的中奖率就是1/100000
public double RtnResult(int numCount, int MinNum, int MaxNum, bool isRepeat)
{
if (isRepeat)//每一个数字支持重复出现
{
return 1 / Math.Pow((MaxNum - MinNum + 1), numCount);
}
else
{
int totalcount = 0;
int totalnum = MaxNum - MinNum + 1;
for (int i = 0; i < numCount; i++)
{
totalcount = totalcount * (totalnum);
totalnum -= 1;
}
return 1 / totalcount;
}
}
#10
类型可以用long类型
#11
怎么控制中奖率呢
#12
这个中奖率是根据你的中奖数据来的啊!!!中奖位数,每一位数的取值范围,以及每一位数是否可以重复啊!
#13
现在中奖率是 1/1200这个怎么设置中奖方法呢?
#14
好像用高中数学里的阶乘
#15
#16
换马甲了。。。
#17
不太了解,帮顶下
#18
15楼被删除了?我怎么看不到了呢
#19
0000000000000000000000000000000000000000000