c语言微信抢红包的随机算法,微信抢红包的算法实现(C++)
目前只能实现对于整数的钱数的红包的实现,经过随机数从而实现随机人抢红包的算法
/*
vs 2013
wk
*/
#include
#include
#include
#include
using namespace std;
//min 默认最小金额 1=0.01元
//max 默认最大金额 20000 = 200 元
//total 总钱数
//num 总人数
long long CalcRandomValue(long long min, long long max, long long total, long long num)
{
if (num == 1)
{
return total;
}
//跟新随机种子
srand((unsigned int)time(NULL));
//锁定本次随机范围
long long low = (total - (num - 1)*max) < min ? min : (total - (num - 1)*max);
long long high = (total - (num - 1)*min) > max ? max : (total - (num - 1)*min);
long long ave = (total / num) > 1 ? (total / num) : 1;
//调整上限
if (high > 2 * ave)
{
high = 2 * ave;
}
//生成随机值
long long ram = rand() % high;
//防止溢出
if (ram < low)
ram = low;
if (ram > high)
ram = high;
return abs(ram);
}
long long qianghongbao(long long total,long long num )
{
if (total > 0)
{
if (num == 1)
{
printf("发红包金额%ld\n", total);
}
total *= 100;
long long low = 1;
long long max = 20000;
printf("红包总金额 %ld元\n", total/100);
printf("抢红包总人数 %ld\n", num);
long long ret = 0;
int i = 1;
float big = 0.0;
int person = 0;
while (num > 0)
{
ret = CalcRandomValue(low, max, total, num);
float ram = ret / 100.0;
printf("第%i个人抢到了%lf元\n", i,ram);
if (ram > big)
{
big = ram;
person = i;
}
total -= ret;
--num;
++i;
}
printf("第%d个人抢了%f元,手气最佳\n", person, big);
}
return -1;
}
int main()
{
qianghongbao(11, 10);
system("pause");
return 0;
}
c语言微信抢红包的随机算法,微信抢红包的算法实现(C++)相关推荐
- 微信红包的随机算法是怎样实现的
2019独角兽企业重金招聘Python工程师标准>>> 微信红包的随机算法是怎样实现的? RT.我考虑了一个简单的算法: 比如100元,由10个人分,那么平均一个人是10元钱.然后付 ...
- js打乱数组的顺序_如何用 js 实现一个类似微信红包的随机算法
如何用 js 实现一个类似微信红包的随机算法 js, 微信红包, 随机算法 "use strict"; /** * * @author xgqfrms * @license MIT ...
- 红包随机算法微信群红包随机算法
文章目录 1.前言 2.参考微信群红包算法 3.一个可用的随机算法 参考文献 1.前言 因疫情影响,部门 2021 年会以线上直播的形式进行,通过微信小程序展开.为活跃年会氛围,年会直播间会有抢红包环 ...
- (转)红包随机算法微信群红包随机算法
通过这篇文章算是把微信群红包的算法弄明白了 1.前言 因疫情影响,部门 2021 年会以线上直播的形式进行,通过微信小程序展开.为活跃年会氛围,年会直播间会有抢红包环节.因产品要求,红包金额要随机生成 ...
- 微信红包随机数字_微信红包的随机算法
概况:2014年微信红包使用数据库硬抗整个流量,2015年使用cache抗流量. 微信金额是拆的时候实时算出来,不是预先分配的,采用的是纯内存计算,不需要预算空间存储.采取实时计算金额的考虑:预算需要 ...
- 微信红包的随机算法是怎样实现的?
导语:今天看到有人问:关于微信红包的随机算法!就查阅资料看了一下"微信红包的架构设计",自己设计的"公平"的随机算法. 实现的代码 public static ...
- 微信红包业务,为什么采用轮询算法?
目录 前言 基本的负载算法 平滑加权轮询算法 一致性哈希算法 最小活跃数算法 最优响应算法 总结 前言 负载均衡这个概念,几乎在所有支持高可用的技术栈中都存在,例如微服务.分库分表.各大中间件(MQ. ...
- 红包的分配算法php,php仿微信红包分配算法的实现方法,红包算法
php仿微信红包分配算法的实现方法,红包算法 本文实例讲述了php仿微信红包分配算法的实现方法.分享给大家供大家参考,具体如下: /** * 红包分配:把一定金额随机分配给指定人数 * * @para ...
- 红包的分配算法php,php仿微信红包分配算法的实现方法,红包算法_PHP教程
php仿微信红包分配算法的实现方法,红包算法 本文实例讲述了php仿微信红包分配算法的实现方法.分享给大家供大家参考,具体如下: /** * 红包分配:把一定金额随机分配给指定人数 * * @para ...
- 微信红包业务,为什么采用轮询算法?(荣耀典藏版)
目录 前言 1.基本的负载算法 1.1.轮询算法 1.2.随机算法 1.3.权重算法 2.平滑加权轮询算法 3.一致性哈希算法 3.1.通过其他分发算法实现缓存 3.2.致性哈希核心-哈希环 3.3. ...
最新文章
- 卷积神经网络四种卷积类型
- 16s及宏基因组测序公司资源--20161104
- Matlab GUI 界面设计基础(1)
- Windows驱动开发 - 设备对象初步学习
- cad与连接mySQL数据库_跨服务器操作数据库?其实很简单!(下)
- SqlServer2008备份与还原(完整图示版)
- Mybatis There is no getter for property named 'XXX' in 'class java.lang.XXX
- 十四、View Port 2.0
- cadence SPB17.4 - 保存和恢复颜色配置
- Word 通过尾注插入参考文献
- Chalcolithic 铜石并用时代
- Android入门(二)
- duxing201606很快乐
- 人类历史上最智慧的169条警世箴言(句句珠玑,发人深省)
- 软件测试工程师的职业发展路线?
- 2022年要面试的注意啦,Android面试题全网最全汇总
- 操作系统-PV操作-理发师问题
- 【大学物理实验】弦振动的研究
- 仅拍125个视频成为千万级网红?Python:看视频都在拍些什么?
- 矿大计算机考研录取人,中国矿业大学2017年硕士研究生拟录取名单