目前只能实现对于整数的钱数的红包的实现,经过随机数从而实现随机人抢红包的算法

/*

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++)相关推荐

  1. 微信红包的随机算法是怎样实现的

    2019独角兽企业重金招聘Python工程师标准>>> 微信红包的随机算法是怎样实现的? RT.我考虑了一个简单的算法: 比如100元,由10个人分,那么平均一个人是10元钱.然后付 ...

  2. js打乱数组的顺序_如何用 js 实现一个类似微信红包的随机算法

    如何用 js 实现一个类似微信红包的随机算法 js, 微信红包, 随机算法 "use strict"; /** * * @author xgqfrms * @license MIT ...

  3. 红包随机算法微信群红包随机算法

    文章目录 1.前言 2.参考微信群红包算法 3.一个可用的随机算法 参考文献 1.前言 因疫情影响,部门 2021 年会以线上直播的形式进行,通过微信小程序展开.为活跃年会氛围,年会直播间会有抢红包环 ...

  4. (转)红包随机算法微信群红包随机算法

    通过这篇文章算是把微信群红包的算法弄明白了 1.前言 因疫情影响,部门 2021 年会以线上直播的形式进行,通过微信小程序展开.为活跃年会氛围,年会直播间会有抢红包环节.因产品要求,红包金额要随机生成 ...

  5. 微信红包随机数字_微信红包的随机算法

    概况:2014年微信红包使用数据库硬抗整个流量,2015年使用cache抗流量. 微信金额是拆的时候实时算出来,不是预先分配的,采用的是纯内存计算,不需要预算空间存储.采取实时计算金额的考虑:预算需要 ...

  6. 微信红包的随机算法是怎样实现的?

    导语:今天看到有人问:关于微信红包的随机算法!就查阅资料看了一下"微信红包的架构设计",自己设计的"公平"的随机算法. 实现的代码 public static ...

  7. 微信红包业务,为什么采用轮询算法?

    目录 前言 基本的负载算法 平滑加权轮询算法 一致性哈希算法 最小活跃数算法 最优响应算法 总结 前言 负载均衡这个概念,几乎在所有支持高可用的技术栈中都存在,例如微服务.分库分表.各大中间件(MQ. ...

  8. 红包的分配算法php,php仿微信红包分配算法的实现方法,红包算法

    php仿微信红包分配算法的实现方法,红包算法 本文实例讲述了php仿微信红包分配算法的实现方法.分享给大家供大家参考,具体如下: /** * 红包分配:把一定金额随机分配给指定人数 * * @para ...

  9. 红包的分配算法php,php仿微信红包分配算法的实现方法,红包算法_PHP教程

    php仿微信红包分配算法的实现方法,红包算法 本文实例讲述了php仿微信红包分配算法的实现方法.分享给大家供大家参考,具体如下: /** * 红包分配:把一定金额随机分配给指定人数 * * @para ...

  10. 微信红包业务,为什么采用轮询算法?(荣耀典藏版)

    目录 前言 1.基本的负载算法 1.1.轮询算法 1.2.随机算法 1.3.权重算法 2.平滑加权轮询算法 3.一致性哈希算法 3.1.通过其他分发算法实现缓存 3.2.致性哈希核心-哈希环 3.3. ...

最新文章

  1. 卷积神经网络四种卷积类型
  2. 16s及宏基因组测序公司资源--20161104
  3. Matlab GUI 界面设计基础(1)
  4. Windows驱动开发 - 设备对象初步学习
  5. cad与连接mySQL数据库_跨服务器操作数据库?其实很简单!(下)
  6. SqlServer2008备份与还原(完整图示版)
  7. Mybatis There is no getter for property named 'XXX' in 'class java.lang.XXX
  8. 十四、View Port 2.0
  9. cadence SPB17.4 - 保存和恢复颜色配置
  10. Word 通过尾注插入参考文献
  11. Chalcolithic 铜石并用时代
  12. Android入门(二)
  13. duxing201606很快乐
  14. 人类历史上最智慧的169条警世箴言(句句珠玑,发人深省)
  15. 软件测试工程师的职业发展路线?
  16. 2022年要面试的注意啦,Android面试题全网最全汇总
  17. 操作系统-PV操作-理发师问题
  18. 【大学物理实验】弦振动的研究
  19. 仅拍125个视频成为千万级网红?Python:看视频都在拍些什么?
  20. 矿大计算机考研录取人,中国矿业大学2017年硕士研究生拟录取名单

热门文章

  1. python实现bp神经网络预测,神经网络算法预测彩票
  2. 程序员是否需要具备抽象思维?
  3. leetcode 8 Roman to Integer C++实现
  4. 旅游网站制作搭建,为旅行业务带来新机遇
  5. hybris mysql_Hybris架构总结。。。。个人笔记
  6. android手机连接AS的adb wifi测试教程
  7. 不得不说,能打败宋慧乔的 也只有她了……
  8. MySQL序列以及生成主键编号记录
  9. 自制ST-Link-V2.1
  10. 分布式缓存之Ehcache与terracotta - Terracotta服务器概念篇