关于C#的中奖和中奖率的算法 有没有更好的办法呢

时间:2022-12-06 09:07:05
一个思路就是 随机数来实现,这个中奖率一般是怎么控制的呢?

不知道各位有没有关于中奖的好的算法,希望能分享分享,呵呵!

中奖率的算法,现在还有点蒙,呵呵。指点迷津哦!

19 个解决方案

#1


该回复于2010-09-07 14:36:58被版主删除

#2


关于C#的中奖和中奖率的算法 有没有更好的办法呢

#3


在1~n范围内随机选7个不重复的数字作为中奖人
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

我:...

#6


该回复于2010-09-07 14:37:06被版主删除

#7


关于C#的中奖和中奖率的算法 有没有更好的办法呢不懂ASP,不过还是谢谢了。呵呵

引用 3 楼 wuyq11 的回复:
在1~n范围内随机选7个不重复的数字作为中奖人
http://topic.csdn.net/u/20081229/09/7dadbe7c-264f-4b5e-8c64-0ea13649672a.html

#8


公司搞抽奖 中奖率 1/1200

引用 4 楼 gongsun 的回复:
有啊,就是很普通的 抽奖算法!

类似双色球,你可以搞个简单的: 

比如10个球 0-9,用户页面选5个球,且顺序一定:52130

然后你 算法中在0-9中随机取5个数,组合字符串 和 用户选的进行比对,相同就中奖,不同就没中。

---------------------

记得以前一个公司,领导让我写一个。

我就写了一个,然后我说中奖概率是1/100。

领……

#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


怎么控制中奖率呢 关于C#的中奖和中奖率的算法 有没有更好的办法呢

#12


引用 11 楼 dupeng0811 的回复:
怎么控制中奖率呢


这个中奖率是根据你的中奖数据来的啊!!!中奖位数,每一位数的取值范围,以及每一位数是否可以重复啊!

#13


现在中奖率是 1/1200这个怎么设置中奖方法呢? 关于C#的中奖和中奖率的算法 有没有更好的办法呢

#14


好像用高中数学里的阶乘 

#15


该回复于2010-09-07 16:46:44被版主删除

#16


引用 15 楼 xiaoyuan402 的回复:
帮忙顶。。


换马甲了。。。

#17


不太了解,帮顶下

#18


15楼被删除了?我怎么看不到了呢

引用 16 楼 hrabeyond 的回复:
引用 15 楼 xiaoyuan402 的回复:
帮忙顶。。


换马甲了。。。

#19


0000000000000000000000000000000000000000000

#1


该回复于2010-09-07 14:36:58被版主删除

#2


关于C#的中奖和中奖率的算法 有没有更好的办法呢

#3


在1~n范围内随机选7个不重复的数字作为中奖人
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

我:...

#5


#6


该回复于2010-09-07 14:37:06被版主删除

#7


关于C#的中奖和中奖率的算法 有没有更好的办法呢不懂ASP,不过还是谢谢了。呵呵

引用 3 楼 wuyq11 的回复:
在1~n范围内随机选7个不重复的数字作为中奖人
http://topic.csdn.net/u/20081229/09/7dadbe7c-264f-4b5e-8c64-0ea13649672a.html

#8


公司搞抽奖 中奖率 1/1200

引用 4 楼 gongsun 的回复:
有啊,就是很普通的 抽奖算法!

类似双色球,你可以搞个简单的: 

比如10个球 0-9,用户页面选5个球,且顺序一定:52130

然后你 算法中在0-9中随机取5个数,组合字符串 和 用户选的进行比对,相同就中奖,不同就没中。

---------------------

记得以前一个公司,领导让我写一个。

我就写了一个,然后我说中奖概率是1/100。

领……

#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


怎么控制中奖率呢 关于C#的中奖和中奖率的算法 有没有更好的办法呢

#12


引用 11 楼 dupeng0811 的回复:
怎么控制中奖率呢


这个中奖率是根据你的中奖数据来的啊!!!中奖位数,每一位数的取值范围,以及每一位数是否可以重复啊!

#13


现在中奖率是 1/1200这个怎么设置中奖方法呢? 关于C#的中奖和中奖率的算法 有没有更好的办法呢

#14


好像用高中数学里的阶乘 

#15


该回复于2010-09-07 16:46:44被版主删除

#16


引用 15 楼 xiaoyuan402 的回复:
帮忙顶。。


换马甲了。。。

#17


不太了解,帮顶下

#18


15楼被删除了?我怎么看不到了呢

引用 16 楼 hrabeyond 的回复:
引用 15 楼 xiaoyuan402 的回复:
帮忙顶。。


换马甲了。。。

#19


0000000000000000000000000000000000000000000

#20