即时抽奖,即时开奖,技术上如何实现?(原来抽奖类的运营活动背后都是这么搞的)...

news2025/1/22 20:52:22

cb19106a224b60e8d56a2acb8081b14a.png

回答知识星球水友“self”提问。

需求抽象一下:

(1)前100个人有资格,假设抽出N=5个奖品;

(2)报名就出奖,不用等100人到齐;

(3)每个人概率一样,礼物平均发放;

(4)有一个特例;

花1分钟说下解决方案。

特例怎么处理?

用一个特殊的逻辑分支处理。

报名就可以抽,不用等人齐,意味着什么?

奖品可能发不完。

例如:只有1个人参与,奖品一定发不完。

又例如:抛硬币,每抛一次,正反的概率都是50%(中奖概率相同),但这并不代表,抛10次一定有5个正面(如果只有4个正面,说明礼品没发完)。

不说较真的特殊情况,正常情况下,100人陆陆续续参加,每个人参加完即可兑奖,每个人概率又相同,奖品又不能超过5,怎么弄?

一旦有人参加,random一个1-100之间的随机数,如果范围为1-5,此人中奖,否则不中。

这样,参加了就能知道结果,不用等所有人齐才开奖,每个人的概率相同,且奖品是平均发放的。

如果有5个以上随机数中奖,怎么办?

加一个库存限制,例如第98个人参与的时候,库存就满了,最后2个人参与时,直接返回不中奖。

画外音:加入库存限制,就会有个例不公平。

如果不够5个中奖,怎么办?

这就是参加立刻开奖的弊端,不能保证一定5个人中奖,则只能:

(1)要么,奖品不发完,这样是公平的,每个人中奖概率确实一样,只是运气差了点;

(2)要么,在最后阶段,加入特殊的逻辑,例如第100人参与的时候,还有一个奖品没有发出去,直接返回中奖;

画外音:奖品必须发完,也可能有个例不公平。

任何脱离业务的方案都是耍流氓。 

1929cf6e2e684c16977d8dd0a65c49e1.jpeg

扫码免费加入,最后70个名额

欢迎大家继续提问。

讨论

你们公司的抽奖类运营活动是怎么弄的?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/715809.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

window debug ios webview

业务需求 在window上想要debug在ios的应用中的webview页面,毕竟页面是在安卓端和ios端都有webview的。安卓的页面使用edge的edge://inspect/#devices,手机开启调试模式就可以了。对于ios就没有办法,页面中已经使用了vconsole可以看到部分的信…

融云观察:社交大佬发家史,模仿才是终极成功学密码?

上周,多所高校因微信支付将收取手续费宣布暂停使用,微信致歉并称在校园非盈利场景将持续保持零费率。关注【融云全球互联网通信云】了解更多 微信的回应非常迅速,但还是多次冲上了热搜榜,可见对一个用户量超过 12 亿的社交巨头来…

fiddler弱网测试 和 Chrome浏览器弱网设置

文章目录 前言 一、fiddler弱网测试 二、Chrome浏览器弱网测试 步骤1:在Fiddler中启动弱网 步骤2:设置网络参数 步骤3:设置完成后,保存 三、弱网测试关注点 总结 前言 测试APP、web经常需要用到弱网测试,也就是…

2023年5月PETS5(WSK)考试经验分享

由于本人明年打算出国联培的缘故,CSC国家留学基金委需要申请人的语言成绩达到一定的要求 英语(PETS5):笔试总分55分(含)以上,其中听力部分18分(含)以上,口试…

PyQt中资源文件的使用(详细步骤介绍)

新建文件: 在 Qt Creator,选中菜单 File->New File...,选择新建 Qt Resource File。 命名为res.qrc 在项目文件目录树中,会自动出现 Resources 文件组和 res.qrc 文件 添加资源记录: 在文件 res.qrc 上点击右键&a…

靶场DVWA未授权访问导致的RCE

1漏洞地址&#xff1a; http://xxxx.vom/vulnerabilities/exec/source/low.php 2漏洞原因&#xff1a; 命令执行直接拼接 3漏洞验证 linux写入phpinfo(); 到hackable/uploads/目录&#xff08;也可以直接写在当前目录&#xff09; 明文内容&#xff1a; 1&echo “<…

LeViT-UNet:transformer 编码器和CNN解码器的有效整合

levi - unet[2]是一种新的医学图像分割架构&#xff0c;它使用transformer 作为编码器&#xff0c;这使得它能够更有效地学习远程依赖关系。levi - unet[2]比传统的U-Nets更快&#xff0c;同时仍然实现了最先进的分割性能。 levi - unet[2]在几个具有挑战性的医学图像分割基准…

如何删除Linux下乱码文件

第一、使用 ls -i 命令获取文件的节点&#xff0c;如下图所示 第二、执行 find -inum 节点号 -delete 命令 删除成功。红色得就是节点号。

stm32烧录hal库固件后keil检测不到芯片,无法下载,但是按着复位键能下载和检测到芯片

keil检测不到芯片的原因有很多&#xff0c;我的原因是没有在stm32cubemx中配置下载方式 请检查stm32cubemx是否配置下载方式&#xff0c;我这里使用jlink的SWD模式进行下载&#xff0c;所以配置如下&#xff1a; 配置好后重新下载代码就可以检测到芯片了

浅析JS中变量前面的加号 + 的含义

javascript 中经常会看到在变量前面有个加号 &#xff0c;它有什么用处呢&#xff1f;其实很简单&#xff0c;就是把变量转换成 number 类型&#xff08;另外&#xff0c;变量 - 0 也是把变量的值转为数值的一种写法&#xff09;。话不多说&#xff0c;我们先看下面的几个例子…

MySQL数据库汇总

MySQL数据库必须掌握的知识点汇总 文章目录 1、三大范式2、DML 语句和 DDL 语句区别3、主键和外键的区别4、drop、delete、truncate 区别5、基础架构6、MyISAM 和 InnoDB 有什么区别&#xff1f;7、推荐自增id作为主键问题8、为什么 MySQL 的自增主键不连续9、redo log 是做什么…

Android Binder通信原理(八):IPC权限控制

源码基于&#xff1a;Android R 0. 前言 在之前的几篇博文中&#xff0c;对Android binder 的通信原理进行的深入的剖析&#xff0c;这些博文包括&#xff1a;binder 简介、servicemanager启动、service注册、service获取、Java 端的service 注册和获取、native下的C-S、java …

《QDebug 2023年6月》

一、Qt Widgets 问题交流 二、Qt Quick 问题交流 1.Qt5 的 QML Settings 没有设置编码的接口 Qt6 虽然移除了 QSettings 的 setIniCodec 接口&#xff0c;默认为 utf8&#xff0c;但是 Qt5 这个接口还能用&#xff0c;且没有默认 utf8。这就导致用 Qt5 QML 的 Settings 没法…

MAYA传送带上放石头(新旧粒子系统)

播放试试 使用老的粒子系统 particleShape1.shuliangrand(0,5); particleShape1.daxiao<<rand(0.2,0.5),rand(0.2,0.5),rand(0.2,0.5)>>; particleShape1.xuanzhuan<<rand(360),rand(360),rand(360)>>; 使用新的粒子系统 粒子向后滑落 新粒子系统能进行…

桥梁结构健康监测方案

一、方案背景 随着国民经济的快速发展&#xff0c;我国的基础设施建设得到蓬勃发展。桥梁作为国民生命财产安全的生命线&#xff0c;关系到国民经济和人民生活的可持续发展。在桥梁的长期运营过程中&#xff0c;存在施工缺陷、材料老化、自然环境以及荷载作用等原因造成桥梁结…

【Vue3】学习笔记-shallowReactive与ShallowRef

shallowReactive&#xff1a;只处理对象最外层属性的响应式&#xff08;浅响应式&#xff09;。 shallowRef&#xff1a;只处理基本数据类型的响应式, 不进行对象的响应式处理。 什么时候使用? 如果有一个对象数据&#xff0c;结构比较深, 但变化时只是外层属性变化 > sh…

【笔记】华南理工大学-智能计算方法 考试重点笔记 [非常详细]

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 目录 大纲 主观题 简答题 大纲 主观题 大题&#xff0c;40分&#xff0c;智能计算与自己专业方向结合&#xff0c;思路、图、公式等均可。 简答题

C/C++服务器和客户端交互笔记

C/C服务器开发 网络与通信Socket Socket通信三要素&#xff1a;通信的目的地址、使用的端口号&#xff08;http 80 / smtp 25&#xff09;、使用的传输协议&#xff08;TCP、UDP&#xff09;。 nslookup xx 可以查询xx网址的IP地址。 Socket通信模型 telnet ipxx 进行主机…

在ik分词器中自定义配置分词

找到ik分词器安装目录下的IKAnalyzer.cfg.xml配置文件 打开后就有让我们配置扩展字典的位置,还有停止的,这里的文件名完全自定义 当写完后然后再安装目录下创建这两个文件夹 在创建完成后重启elasticsearch即可 如果配置未生效很有可能是文件的编码格式有问题,我们将编码改为UT…

Linux-扩展篇-RPM和Yum-克隆和快照

扩展篇 学自尚硅谷武晟然老师&#xff0c;结合老师课堂内容和自己笔记所写博文。 文章目录 扩展篇软件包管理一、RPM1、RPM概述2、命令查询命令卸载命令安装命令 二、yum1、yum概述2、命令3、修改网络yum源 克隆虚拟机克隆快照 Shell编程Shell 概述 软件包管理 一、RPM 1、RP…