首页 > 其他分享 >生成红包数组

生成红包数组

时间:2023-11-03 12:22:06浏览次数:24  
标签:红包 restPeople int random cash 生成 restCash 数组 redPackageList

/// <summary>
/// 产生红包数组
/// </summary>
/// <param name="cashCount">红包总金额</param>
/// <param name="peopleNumber">红包人数</param>
/// <returns></returns>
private List<int> DivideRedEnvelope(int cashCount, int peopleNumber)
{
List<int> redPackageList = new List<int>();
if (cashCount <= peopleNumber)
{
for (int i = 0; i < cashCount; i++)
{
redPackageList.Add(1);
}

return redPackageList;
}

Random random = new Random();
int restCash = cashCount, restPeople = peopleNumber;
for (int i = 0; i < peopleNumber - 1; i++)
{
//var cash = random.Next(1, restCash / restPeople * 2);
int cash;
if (peopleNumber < 5)
{
var bound = (int)(restCash / restPeople / restPeople);
cash = restCash / restPeople + random.Next(-bound, bound);
}
else
{
//cash = random.Next(1, restCash / restPeople * 2);
int min = restCash / restPeople / 2;
cash = random.Next(min == 0 ? 1 : min, restCash / restPeople * 2);
}
restCash -= cash;
restPeople--;
redPackageList.Add(cash);
}
redPackageList.Add(restCash);
return redPackageList;
}

标签:红包,restPeople,int,random,cash,生成,restCash,数组,redPackageList
From: https://www.cnblogs.com/KyriosAxis/p/17807362.html

相关文章

  • IDEA插件推荐,代码写完直接调试、生成接口文档
    国产API调试工具Apipost推出IDEA插件,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成url和params。ApipostHelper=API调试工具+API管理工具+API搜索工具。在商店中搜索或直接点击下方链接即可下载:https://plugins.jetbrains.com......
  • IDEA插件推荐,代码写完直接调试、生成接口文档
    国产API调试工具Apipost推出IDEA插件,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成url和params。ApipostHelper=API调试工具+API管理工具+API搜索工具。在商店中搜索或直接点击下方链接即可下载:https://plugins.jetbrains.com/p......
  • 数组 vs. 切片
    在Go编程语言中处理数据时,经常会遇到数组和切片。这两者是不同的数据结构,有各自的特性和用途。本文将对Go中的数组和切片进行比较,以帮助大家更好地理解它们。1.长度不同一个主要的区别是长度。在Go中,数组是具有固定长度的数据结构,一旦创建,其大小不可更改。相比之下,切片具有动态......
  • 这才是当今生成式人工智能的根本性问题!
    原创|文BFT机器人01引言近年来,生成式人工智能产品层出不穷,ChatGPT火爆出圈后,百度、谷歌等科技大佬争相研究生成式人工智能产品,将该技术的普及程度提升到了一个新的水平。然而,生成式人工智能的运营需要高昂的能源成本。02现代化风向标:光速发展的人工智能人工智能的产生是必然,是人......
  • [Linux] shell编程之数组 [转载]
    1概述数组是Shell的一种特殊变量,是一组数据的集合,里面的每个数据被称为一个数组元素。当前Bash仅支持一维索引数组和关联数组,Bash对数组的大小没有限制。2定义数组2.1一维索引数组方法1#定义一个空数组array=()#为数组元素赋值array1[0]=aarray1[1]=barray......
  • java笔记_15_动态生成Excel文件
    //创建表头数据//内层List按纵向创建,外层List按横向添加,横向重复的名称会自动合并表格。List<List<String>>list=newArrayList<>();List<String>childList1=newArrayList<>();childList1.add("aaa");childList1.add("bbb");childList1.add......
  • 【专题】生成式AI:产业变革与机会论坛(演讲PPT)报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34132自18世纪中期工业革命以来,人类进入工业社会。在历次工业革命中,人类通过发明创造和管理革新,改进生产方式、降低成本、提高效率,随之而来的是生活、物质、文化、教育等各方面的变化,人际关系和社会结构也得以重塑。如今,数字化技术的发展为工业注入......
  • HanLP — Aho-Corasick DoubleArrayTire 算法 ACDAT - 基于双数组字典树的AC自动机
    双数组字典树能在O(1)(1是模式串长度)时间内高速完成单串匹配,并且内存消耗可控,然而软肋在于多模式匹配。如果要匹配多个模式串,必须先实现前缀查询,然后频繁截取文本后缀才可多匹配。比如ushers、shers、hers…这样一份文本要回退扫描多遍,性能较低。既然AC自动机的goto表本身就是一......
  • 实现一个极简的字节数组对象池
    .NET利用ArrayPoolPool<T>和MemoryPool<T>提供了针对Array/Memory<T>的对象池功能。最近在一个项目中需要使用到针对字节数组的对象池,由于这些池化的字节数组相当庞大,我希望将它们分配到POH上以降低GC的压力。由于ArrayPoolPool<T>没法提供支持,所以我提供了一个极简的实现。目录一......
  • 最小生成树、二分图(11/2)
    到集合得最短距离是指点到集合中的所有点最短距离,集合就是遍历或正选中的数prim#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;intn,m;constintN=510;constintINF=0x3f3f3f3f;intg[N][N];intdist[N];boolst[N];intprim(){......