大转盘概率原理

qz362100 2014-05-24 11:39:17
现在公司在开发基于微信下的大转盘。。现在有一个算法问题:关于概率这个问题要怎么设置才比效合理呢??
方案一:
第一名 1个 1/1000
第二名 2 个 2/1000
第三名 3个 3/1000
第四名 50 1/1000

方案二:

第一名 1个
第二名 2 个
第三名 3个
第四名 50
设置一个总的概率20% 这样子

方案三 : 其它更好的方便

能不能分析一下!!要怎么做会比效合理并且要怎么改成出来呢??

...全文
2488 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
oTerminator12 2014-05-25
  • 打赏
  • 举报
回复
方案一加上方案一,可以设置概率也可以限制人数
  • 打赏
  • 举报
回复
其实一旦把流程变得朴实、具有执行力,你就会发现“设置一个总的概率20% 这样子”这种话缺乏基本信息、根本不成立。 自己想办法把这个话说“圆”了吧。那就是设计。
  • 打赏
  • 举报
回复
显然,假设还有200个属于“没有奖”,那么你就往这个集合里边再放入200个0(或者别的什么数字)好了。 抽奖时,抽出一个筛子,就不再放回去了。 其实编程序需要找到“隐喻”,不应该总是搞什么过分抽象的“数学、算法”之类的。你应该研究真实的玩法,程序应该与真实领域模型完全一致,决不能说(分析领域时)一套做(编程时)一套。细看许多人都是说的好像和明白,但是一旦动手写就忘记该怎么写了。应该养成一种习惯,你只要说出来了,在写代码时基本上就绝对不会迷失方向、改变思路。
  • 打赏
  • 举报
回复
你可以放N个筛子,例如 List<int> 里边放1个1、2个2、3个3,50个4。然后每一次开奖都从这里随机抽取一个值。
threenewbee 2014-05-24
  • 打赏
  • 举报
回复
产生一个0~1的随机double数,它在0~0.0001之间的概率就是1/1000。
一aa一 2014-05-24
  • 打赏
  • 举报
回复
对于转盘开奖这个事情 这个算法肯定是要在服务端的 你服务端生成结果后发给客户端运行,既然是服务端主控的话那么就看你的需求了,如果你只想出一个1等级的话 那么就在服务端做个标记,如果已经产生一等奖那么在你重置这个标志之前都能保证不出这个奖,其他的概率你可以用随机数+出现次数控制,出现到某个极限值的时候就不再出现不就OK了吗。。。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧