最近对红包金额分配感兴趣,便整理了一个较简单的分配算法

思路:主要是通过随机函数对金额随机分配,由于金额与份数不断变化,如何保证分配前等概率呢?

本例是将金额等分,取得均值,但第一份取左和取右等概率,故其最大值为右份边界。

代码:

#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红包金额分配算法相关推荐

  1. php分割金额_PHP实现红包金额拆分算法案例详解

    这次给大家带来PHP实现红包金额拆分算法案例详解,PHP实现红包金额拆分算法的注意事项有哪些,下面就是实战案例,一起来看一下.<?php // 新年红包金额拆分试玩 class CBonus { ...

  2. php数组10000分割1000_PHP切割整数工具类似微信红包金额分配的思路详解

    主要代码:NumberSlicing.php 思路:将数字按精度放大倍数,比如切割数字1,切割的份数是10,精度是0.01,则将1放大100 X 10倍,然后再来对加了1000倍权重后的值进行切割.切 ...

  3. java实现红包要多少钱_java实现红包的分配算法

    个人推测,微信红包在发出的时候已经分配好金额.比如一个10元的红包发给甲乙丙三个人,其实在红包发出去的时候,已经确定了第一个会领取多少,第二个会领取多少金额. 而不是在领取的时候才计算的.下面贴出实现 ...

  4. 微信红包金额分配的算法

    转载: http://www.open-open.com/lib/view/open1430473257443.html https://timyang.net/architecture/wechat ...

  5. java红包金额随机数算法_实时随机数算法(微信红包分配算法)

    微信红包算法在知乎上面有个专题讨论,其实红包的发放的随机算法,有两种作法:java 一.预生产: 算法 无外乎是在发红包的时候,随机去把金额生成到某个容器当中,而后要用的时候,一个一个的POP:微信 ...

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

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

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

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

  8. php红包平均分配,红包平均分配算法

    直接上代码 import java.util.Iterator; import java.util.TreeSet; public class Hongbao { private final int[ ...

  9. java红包正态分布_红包分配算法

    微信红包的分配算法,在知乎上已经有人讨论过了,详见<微信红包的随机算法是怎样实现的?>.基本的原则是:红包分配的钱数满足截尾正态随机数分布. 大致为在截尾正态分布中取随机数,并用其求和数除 ...

  10. QQ红包技术方案全解密

    转自: http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650995675&idx=1&sn=712855991e2 ...

最新文章

  1. Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
  2. .dat文件写入byte类型数组_深入浅出MATLAB数据处理之文件读写
  3. SAP调用外部web service
  4. 机器学习两种距离——欧式距离和马氏距离
  5. 知识图谱入门视频(四)
  6. Scala变量和常用数据类型
  7. 什么是数字孪生体?来自西门子、PTC、北航的精华观点和实践
  8. eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.proje...
  9. css grid随页面大小_前端开发中各种设置CSS间距的优点缺点及实例「实践」
  10. 显示器说:偶好惨啊,每天给人看。
  11. InsecureRequestWarning: Unverified HTTPS request is being made.解决方法
  12. 数学建模——典型相关分析及相关SPSS操作
  13. 关于破解Quartus
  14. empty怎么发音_empty是什么意思_empty在线翻译_英语_读音_用法_例句_海词词典
  15. 用计算机弹歌旧梦一场歌词,早知惊鸿一场何必情深一往是什么歌 《旧梦一场》歌词哪里听...
  16. 错误:类 SubClass 是公共的, 应在名为 SubClass.java 的文件中声明
  17. 创建手机页面弹出键盘的时候背景图片被挤上去的解决办法
  18. 区块链100讲:Truffle——一个更简单的部署智能合约的方法
  19. Mac扫描局域网内连接设备IP及MAC地址并查看对应IP开放端口
  20. linux启动一个进程吗,你知道,当你在 Linux 上启动一个进程时会发生什么嘛?

热门文章

  1. 为什么提问能力很重要?
  2. “手把手教你设计”—12个最佳手机APP界面设计教程
  3. 布法罗纽约州立大学计算机排名,2019年QS世界大学排名纽约州立大学布法罗分校排名第313...
  4. HDU4585 Shaolin(treap)
  5. 单机游戏计时器防zuo弊解决方案
  6. 人活一辈子到底为了啥?(人生苦短 我要学人工智能)一万年太久,只争朝夕。
  7. 华为nova5iotg功能使用_华为nova5ipro支持otg功能吗
  8. Excel复制的数据到文本文件里面有 双引号
  9. 2018厦门大学计算机技术分数线,2018厦门大学专业排名及分数线 王牌专业有哪些...
  10. vue使用Moment插件格式化时间