把 1 到 n 块钱 等概率分给 n 个人
可以使用随机分配的方法来实现等概率分给 n 个人。
步骤如下:
- 建立一个大小为 n 的数组 money,用于存储每个人得到的钱数。
- 将钱数 1 到 n 存入一个数组 coins,用于表示待分配的钱。
- 对于每个人 i,随机生成一个范围在 0 到 coins 数组长度减 1 之间的随机数 index。
- 将 coins 数组中的第 index 个元素的值分给第 i 个人,并将该元素从 coins 数组中删除。
- 重复步骤 3 和 4 直到所有的钱都被分配完毕。
- 返回 money 数组,即每个人得到的钱数。
以下是使用 Python 实现的示例代码:
import random
def distribute_money(n):
money = [0] * n
coins = list(range(1, n+1))
for i in range(n):
index = random.randint(0, len(coins)-1)
money[i] = coins[index]
coins.pop(index)
return money
n = 5
result = distribute_money(n)
print(result)
运行示例代码,输出可能是:[1, 3, 2, 5, 4],表示第一个人得到了 1 块钱,第二个人得到了 3 块钱,依此类推。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论