把 1 到 n 块钱 等概率分给 n 个人

发布于 2023-07-09 07:56:59 字数 774 浏览 30 评论 0

可以使用随机分配的方法来实现等概率分给 n 个人。

步骤如下:

  1. 建立一个大小为 n 的数组 money,用于存储每个人得到的钱数。
  2. 将钱数 1 到 n 存入一个数组 coins,用于表示待分配的钱。
  3. 对于每个人 i,随机生成一个范围在 0 到 coins 数组长度减 1 之间的随机数 index。
  4. 将 coins 数组中的第 index 个元素的值分给第 i 个人,并将该元素从 coins 数组中删除。
  5. 重复步骤 3 和 4 直到所有的钱都被分配完毕。
  6. 返回 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

涙—继续流

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

ni139999

文章 0 评论 0

Smile

文章 0 评论 0

木子李

文章 0 评论 0

仅此而已

文章 0 评论 0

qq_2gSKZM

文章 0 评论 0

内心激荡

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文