js微信抢红包脚本代码_JS实现微信红包随机算法(附代码)

news/2024/7/6 0:17:13

这次给大家带来JS实现微信红包随机算法(附代码),JS实现微信红包随机算法的注意事项有哪些,下面就是实战案例,一起来看一下。

我们假设有一个100元的红包,要发给10个人。为了保证公平,算法需要保证以下的原则:每个人最少能抢到0.01元

每个人的机会平等

所有人的金额之和等于100元

1.简单的随机函数实现

很多朋友的一般思路是:

第一步:从0-100中随机一个数,得到第一个红包金额。

第二步:从0-剩余金额中随机一个数,得到第二个红包金额。

第三步:...

最后一步把剩余的钱都给最后一个人。

以此类推,得到全部的10 个红包。但是不知道大家注意到没有,这样存在明显的 不公平 。先抢的人比较有优势,第一个人的随机范围是0-100,有可能得到较大的金额。而最后一个人的随机范围就会很小,如果第一个人抢到了90块钱,那么最后一个人就不可能有的到超过10块钱的机会。我们用代码模拟一下这个过程:

测试结果如下:

细心的朋友会注意到,余额的值不正确,这是JavaScript浮点数运算的已知问题。当然解决的方式有很多,如果你有好的办法欢迎你给我留言。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:


http://www.niftyadmin.cn/n/2749036.html

相关文章

统计学中p值计算公式_大学统计学白上了?800多科学家联名反对统计学显著性:P值该废了...

【新智元导读】三位统计学家在Nature上发布公开信,号召科学家放弃追求“统计学意义”,这封公开信一周之内吸引了超过800名研究人员共同反对。大学里好不容易听懂的统计学,会变成一件没“意义”的事情吗?统计学白学了?最…

开发一款短视频APP需要多少钱?

程序员——一个苦逼的“打击乐手” 每天一直都在敲敲敲~~~ 当然是键盘啦,你以为是乐器吗?! 由于工作时太过专业太过认真 各种标签贴在了我们的身上 说谁呆板,说谁木讷,说谁品味差 说…

Cocos2D-html5 发布游戏js编译为jsc

搞了老半天,这么回事啊,工具都在tools中。 jsb模式下是通过打包spidermonkey来运行JS代码的。 JS文件都在assets文件夹中。我们都知道assets文件夹,打包后的结果,将apk包解压后就可以直接拿到script的源码。 官方工具cocos2d-cons…

机器学习-谈谈逻辑回归里面的woe化

机器学习-谈谈逻辑回归里面的woe化-20170911 - 知乎 (zhihu.com)

网站策划方案绝不能忽视的几个问题!

伴随着很多网站的快速建成,这样开发需要有第三方的云服务和虚拟的主机,自然就需要普及一下。但网站策划方案就算已经出炉 ,在当下越来越突出网站的安全性问题,这都在提醒着我们要做好网站的安全。以下就给大家介绍几个建设时候不能…

android 单例模式_Android设计模式-1-单例模式

1. 定义:确保1个类只有1个实例化对象 ,提供一个全局访问点2. 优缺点优点:客户端使用单例模式的实例的时候,只需要调用一个单一的方法即可生成一个唯一的实例,有利于节约资源。缺点:首先单例模式很难实现序列化&#xf…

UWP 实现分享功能

一:需求 实现点击分享按钮,分享内容到微博,邮箱等。。 like this 二:DataTransferManager 数据传输管理类 DataTransferManager dataTransferManager DataTransferManager.GetForCurrentView(); dataTransferManager.DataRequest…

MySQL · 实现分析 · HybridDB for MySQL 数据压缩

概述 数据压缩是一个把输入数据集按照一定的算法变换成更小的数据集的过程,解压是压缩的逆过程。如果算法对数据本身的语义了解得越多,则越可能利用语义信息进行针对性的处理,获得更好的压缩效果。数据库系统中用得比较多的压缩算法可以分为两…