一个有意思的分钱模拟问题

简介: 一个有意思的分钱模拟问题。

大家好,今天来分享一个有意思的分钱模拟问题,为了帮助大家理解,采取了可视化的方式。

这个问题描述是这样的:房间里有 100 个人,每人都有 100 元钱,他们在玩一个游戏。每轮游戏中,每个人都要拿出一元钱随机给另一个人,最后这 100 个人的财富分布是怎样的?

猜一下,经过 10000 次的交换,你们认为最后的结果会是怎么样子的?
5
4
3
2
1
登登登,答案是这个样子的。

image.png

和你的直觉想法有出入吗?是不是一开始认为是平均分布的?

事实上,很多人一开始都没想到结果会是这样子的。

我们借助 Java GUI 来可视化的理解这个问题。

首先初始化数据,一开始每人都有 100 元钱。

// 初始化数据
   money = new int[100];
   for(int i = 0 ; i < money.length ; i ++)
       money[i] = 100;

image.png

初始状态


然后每轮游戏中,每个人都要 拿出一元钱随机给另一个人
for(int i = 0 ; i < money.length; i ++){
      if(money[i] > 0){
          int j = (int)(Math.random() * money.length);
          money[i] -= 1;
          money[j] += 1;
       }
  }

1.gif

不够直观?那我们可以先排序再显示。

Arrays.sort(money);
for(int i = 0 ; i < money.length; i ++){
      if(money[i] > 0){
          int j = (int)(Math.random() * money.length);
          money[i] -= 1;
          money[j] += 1;
       }
  }

2.gif

排序


我们可以发现,初始时所有人的财富值相等,随着游戏的进行,财富值差距越来越大,而不是均匀分布。

感兴趣继续研究的小伙伴可以下载下方的源码。

完整代码: https://github.com/MisterBooo/AmazingAlgo

参考阅读:

来源 | 五分钟学算法
作者 | 程序员吴师兄

相关文章
|
3月前
|
Java 应用服务中间件 Apache
2026最新Tomcat安装和配置保姆级教程(附安装包+图文步骤)
Apache Tomcat是开源轻量级Java Web服务器与Servlet容器,支持Servlet、JSP、WebSocket等规范。解压即用,部署.war包即可运行Web应用,广泛用于开发与测试。推荐使用Tomcat 10.1.x或11.x(需JDK 11+),注意jakarta.*命名空间迁移。
|
4月前
|
人工智能 运维 Cloud Native
阿里云获评 Agentic AI 开发平台领导者,函数计算 AgentRun 赢下关键分!
国际市场研究机构 Omdia 发布《2026年亚太Agentic AI开发平台市场评估报告》,阿里云凭借函数计算 AgentRun 卓越的技术深度和全栈AI布局摘得“领导者”桂冠,5项核心能力获得最高评级(Advanced),是国内厂商最优,与 AWS、谷歌、微软等同处最高评级梯队。
|
5月前
|
存储 人工智能 Serverless
替换一个节点,ComfyUI 瞬间起飞
FunArt是阿里云函数计算推出的ComfyUI一键托管平台,集成VisionPlaid等高性能DiT推理引擎,支持多卡序列并行、4-bit量化与异步Offload,在保持原生兼容前提下显著加速图像/视频生成,真正实现开箱即用、弹性高可用的AI生成服务。
|
3月前
|
存储 Cloud Native 机器人
企业RPA规模化落地的隐形门槛:如何构建团队协作的自动化资产体系
阿里云RPA规模化落地时,流程资产混乱、协作低效成瓶颈。本文剖析“个人脚本”向“团队工程”升级路径,提出协同开发、资产分类(按部门归集)、发布审批三大工程化实践,并结合云效、钉钉、OSS等云原生服务构建可治理、可审计、可复用的自动化管理体系。(239字)
企业RPA规模化落地的隐形门槛:如何构建团队协作的自动化资产体系
|
5月前
|
Serverless
函数计算 AgentRun 全新升级!让 Agent 拥有长记忆,更聪明、更懂你
函数计算 AgentRun 全新升级!让 Agent 拥有长记忆,更聪明、更懂你。
|
3月前
|
存储 SQL 关系型数据库
索引失效高阶案例:从隐蔽场景到精准优化
本文详解MySQL索引失效6大高阶陷阱:字符集/排序规则不一致、IS NOT NULL与NOT IN误用、范围查询中断最左前缀、多列条件跳序、函数索引不匹配等。重在EXPLAIN验证与规范预防,助你避开线上慢查雷区。
|
机器学习/深度学习 自然语言处理 算法
数据准备指南:10种基础特征工程方法的实战教程
在数据分析和机器学习中,从原始数据中提取有价值的信息至关重要。本文详细介绍了十种基础特征工程技术,包括数据插补、数据分箱、对数变换、数据缩放、One-Hot编码、目标编码、主成分分析(PCA)、特征聚合、TF-IDF 和文本嵌入。每种技术都有具体应用场景和实现示例,帮助读者更好地理解和应用这些方法。通过合理的特征工程,可以显著提升模型的性能和预测能力。
1273 3
数据准备指南:10种基础特征工程方法的实战教程
|
机器学习/深度学习 计算机视觉 网络架构
【YOLOv8改进-卷积Conv】DualConv( Dual Convolutional):用于轻量级深度神经网络的双卷积核
**摘要:** 我们提出DualConv,一种融合$3\times3$和$1\times1$卷积的轻量级DNN技术,适用于资源有限的系统。它通过组卷积结合两种卷积核,减少计算和参数量,同时增强准确性。在MobileNetV2上,参数减少54%,CIFAR-100精度仅降0.68%。在YOLOv3中,DualConv提升检测速度并增4.4%的PASCAL VOC准确性。论文及代码已开源。
|
机器学习/深度学习 数据可视化 计算机视觉
YOLOv5改进 | Conv篇 | 利用DualConv二次创新C3提出一种轻量化结构(降低参数30W)
YOLOv5改进 | Conv篇 | 利用DualConv二次创新C3提出一种轻量化结构(降低参数30W)
1022 1
|
机器学习/深度学习 人工智能 算法
AI+组合优化 |机器学习顶会ICLR/ICML/NeurIPS'23最新进展-MIP求解篇(附原文源码)
本文梳理了ICLR 2023、ICML 2023、NeurIPS 2023有关机器学习+混合整数规划问题求解加速求解加速的研究成果,总共包含8篇文章。
2187 0