如何把 100 块钱随机地分成 30 份呢?

2017-04-26 10:47:32 +08:00
 crist
如何把 100 块钱随机地分成 30 份,也就是每一份的钱是不固定的,但是总数加起来必须等于 100 。
9641 次点击
所在节点    问与答
68 条回复
starvedcat
2017-04-26 10:49:23 +08:00
取 29 个(0, 100)的坐标
hinate
2017-04-26 10:53:35 +08:00
xialdj
2017-04-26 10:55:12 +08:00
随便生成 30 个随机数 按照总和与 100 的比例 所有数字等比例缩放
crist
2017-04-26 11:11:33 +08:00
@hinate 知乎上的回答好复杂啊;
crist
2017-04-26 11:11:45 +08:00
其实我是这样想的:平均分成 30 份每份 10 元,然后再从这 10 元里面随机抽取几元钱,然后再随机分配给每一份,就 OK 啦
coderluan
2017-04-26 11:12:40 +08:00
没特殊要求的话,基本怎么算都能实现吧。
blankme
2017-04-26 11:13:05 +08:00
@crist 你要是只需要均匀分布,按一楼说的做就行了
Vizogood
2017-04-26 11:16:04 +08:00
楼主是不是要写一个红包算法 (滑稽
crist
2017-04-26 11:19:42 +08:00
@Vizogood 那请问你有什么妙计没?说出来听听
crist
2017-04-26 11:21:15 +08:00
@crist 说错了,好像 100 分成 30 份并不是每份 10 哈应该是 3.33333333333333333333333333333 元
tankb52
2017-04-26 11:26:48 +08:00
建 30 个人的群,发 100 块钱红包啊
ioriwong
2017-04-26 11:30:33 +08:00
用一楼 挡板法 就行了
rogerchen
2017-04-26 11:31:23 +08:00
@crist 一楼已经给出真相了
johnny23
2017-04-26 11:38:57 +08:00
random100 次 每次都取模 3 结果为 0 给第一份红包加一 为 1 加二个红包 为 2 加第三个红包 不知道这样如何?
zhangbohun
2017-04-26 11:39:15 +08:00
随机生成三十个数,然后每个除以总和乘以 100 生成前九十九个,最后一个 100 减前面的九十九个。
johnny23
2017-04-26 11:39:51 +08:00
看错题目了 楼主可以无视我 哭...
zhaojjxvi
2017-04-26 11:39:53 +08:00
@starvedcat 说实话没太懂怎么保证各项和等于 100
crist
2017-04-26 11:40:26 +08:00
29 个(0, 100)的坐标怎么取,用什么语言?能否 30 份每一份都是随机数量的?
johnny23
2017-04-26 11:41:30 +08:00
改良哈 random ( 30 ) 70 次
blankme
2017-04-26 11:41:57 +08:00
@crist 29 个(0, 100)随机数,红包金额就是相邻两点随机数之差

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/357405

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX