QQ红包金额分配算法
最近对红包金额分配感兴趣,便整理了一个较简单的分配算法
思路:主要是通过随机函数对金额随机分配,由于金额与份数不断变化,如何保证分配前等概率呢?
本例是将金额等分,取得均值,但第一份取左和取右等概率,故其最大值为右份边界。
代码:
#include<iostream>
#include<iomanip>
#include <stdlib.h>
#include <time.h>
using namespace std;
void RandHongBao(float total_money,int n)
{
int i=1;
float max_money=0,money;
srand(time(0));//设置时间随机种子
while(n>1)
{
max_money=total_money/n*2;//最大值
money=(rand()%(int)(max_money*100)+(int)0.01*100)/100.0+0.01;//乘以100除以100是为了保留两位小数
total_money-=money;
cout<<fixed<<setprecision(2)<<"第"<<i++<<"个红包有"<<money<<"元"<<endl;
n--;
}
money=total_money;//最后一个红包
cout<<fixed<<setprecision(2)<<"第"<<i<<"个红包有"<<money<<"元"<<endl;
}
int main()
{
float Total_money;//红包的总金额
int N;
cout<<"请输入红包金额 份数:";
cin>>Total_money>>N;
RandHongBao(Total_money,N);
return 0;
}
截图:
此处提供可运行插件下载:https://pan.baidu.com/s/1EGNFTFf8Pl6ZfX7Xwvrd5g
QQ红包金额分配算法相关推荐
- php分割金额_PHP实现红包金额拆分算法案例详解
这次给大家带来PHP实现红包金额拆分算法案例详解,PHP实现红包金额拆分算法的注意事项有哪些,下面就是实战案例,一起来看一下.<?php // 新年红包金额拆分试玩 class CBonus { ...
- php数组10000分割1000_PHP切割整数工具类似微信红包金额分配的思路详解
主要代码:NumberSlicing.php 思路:将数字按精度放大倍数,比如切割数字1,切割的份数是10,精度是0.01,则将1放大100 X 10倍,然后再来对加了1000倍权重后的值进行切割.切 ...
- java实现红包要多少钱_java实现红包的分配算法
个人推测,微信红包在发出的时候已经分配好金额.比如一个10元的红包发给甲乙丙三个人,其实在红包发出去的时候,已经确定了第一个会领取多少,第二个会领取多少金额. 而不是在领取的时候才计算的.下面贴出实现 ...
- 微信红包金额分配的算法
转载: http://www.open-open.com/lib/view/open1430473257443.html https://timyang.net/architecture/wechat ...
- java红包金额随机数算法_实时随机数算法(微信红包分配算法)
微信红包算法在知乎上面有个专题讨论,其实红包的发放的随机算法,有两种作法:java 一.预生产: 算法 无外乎是在发红包的时候,随机去把金额生成到某个容器当中,而后要用的时候,一个一个的POP:微信 ...
- 红包的分配算法php,php仿微信红包分配算法的实现方法,红包算法
php仿微信红包分配算法的实现方法,红包算法 本文实例讲述了php仿微信红包分配算法的实现方法.分享给大家供大家参考,具体如下: /** * 红包分配:把一定金额随机分配给指定人数 * * @para ...
- 红包的分配算法php,php仿微信红包分配算法的实现方法,红包算法_PHP教程
php仿微信红包分配算法的实现方法,红包算法 本文实例讲述了php仿微信红包分配算法的实现方法.分享给大家供大家参考,具体如下: /** * 红包分配:把一定金额随机分配给指定人数 * * @para ...
- php红包平均分配,红包平均分配算法
直接上代码 import java.util.Iterator; import java.util.TreeSet; public class Hongbao { private final int[ ...
- java红包正态分布_红包分配算法
微信红包的分配算法,在知乎上已经有人讨论过了,详见<微信红包的随机算法是怎样实现的?>.基本的原则是:红包分配的钱数满足截尾正态随机数分布. 大致为在截尾正态分布中取随机数,并用其求和数除 ...
- QQ红包技术方案全解密
转自: http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650995675&idx=1&sn=712855991e2 ...
最新文章
- Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
- .dat文件写入byte类型数组_深入浅出MATLAB数据处理之文件读写
- SAP调用外部web service
- 机器学习两种距离——欧式距离和马氏距离
- 知识图谱入门视频(四)
- Scala变量和常用数据类型
- 什么是数字孪生体?来自西门子、PTC、北航的精华观点和实践
- eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.proje...
- css grid随页面大小_前端开发中各种设置CSS间距的优点缺点及实例「实践」
- 显示器说:偶好惨啊,每天给人看。
- InsecureRequestWarning: Unverified HTTPS request is being made.解决方法
- 数学建模——典型相关分析及相关SPSS操作
- 关于破解Quartus
- empty怎么发音_empty是什么意思_empty在线翻译_英语_读音_用法_例句_海词词典
- 用计算机弹歌旧梦一场歌词,早知惊鸿一场何必情深一往是什么歌 《旧梦一场》歌词哪里听...
- 错误:类 SubClass 是公共的, 应在名为 SubClass.java 的文件中声明
- 创建手机页面弹出键盘的时候背景图片被挤上去的解决办法
- 区块链100讲:Truffle——一个更简单的部署智能合约的方法
- Mac扫描局域网内连接设备IP及MAC地址并查看对应IP开放端口
- linux启动一个进程吗,你知道,当你在 Linux 上启动一个进程时会发生什么嘛?
热门文章
- 为什么提问能力很重要?
- “手把手教你设计”—12个最佳手机APP界面设计教程
- 布法罗纽约州立大学计算机排名,2019年QS世界大学排名纽约州立大学布法罗分校排名第313...
- HDU4585 Shaolin(treap)
- 单机游戏计时器防zuo弊解决方案
- 人活一辈子到底为了啥?(人生苦短 我要学人工智能)一万年太久,只争朝夕。
- 华为nova5iotg功能使用_华为nova5ipro支持otg功能吗
- Excel复制的数据到文本文件里面有 双引号
- 2018厦门大学计算机技术分数线,2018厦门大学专业排名及分数线 王牌专业有哪些...
- vue使用Moment插件格式化时间