今天用java可视化写一个随机分钱的程序

  100个人每个人有100块钱,他们在玩一个游戏。每轮游戏中每个人都要拿出一元钱随机给另一个人,最后这100个人的财富分布是怎么样的?(部分代码)

首先创建个数组,容纳这一百个人:

 

 然后编写随机给别人一块钱:

好先让我们来看看运行结果:

我们看到刚开始差距并不是很大。

接下来我们开始深入这个游戏,那我们怎么加快游戏速度看到变化呢,其实非常简单,我们只需要定义一个k

 

这样我们可以清晰的看到每个人财富的变化,变的不平均,其实这样还是不好看出每个人财富分布,我们可以进行排序来实现:

当然这都是我们在绘制每个人手上大于0元钱的时候,肯定也会有负债的人,让我们来绘制出来:

 

 

 

当我们没做这个实验的时候我们一定觉得钱会保持一个平均状态,但是为什么会出现这样的一个结果呢?

其实我们可以把这个看作一个数学问题,就是把10000块钱分给100个人有多少种分法,平均分给每个人的概率其实非常小,大部分都是不平均的,这就可以解释为什么会出现这种情况。

 

posted @ 2019-07-19 22:24  银角大王11  阅读(250)  评论(0编辑  收藏  举报