You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

奖金池分配公式开发需求:按剩余参赛人数15%全额分配

奖金池分配公式设计方案

Got it, let's walk through building this prize distribution system step by step, tailored exactly to your requirements:

1. 确定获奖名额(N)

首先计算获奖人数,取剩余参赛人数(记为 M)的15%,可根据赛事规则选择向上/向下取整或四舍五入:

# 向上取整(保证更多参赛者有获奖机会)
N = ceil(M * 0.15)
# 或向下取整(控制获奖名额上限)
N = floor(M * 0.15)
# 或四舍五入
N = round(M * 0.15)

2. 计算可分配奖金池总额

先扣除每笔报名费抽取的固定运营成本(记为 C),得到实际用于分配的奖金池:

Pool = (报名费 × M) - (C × M)

3. 设定末位获奖最低奖金

末位奖金随获奖名额从2倍报名费线性降至1.5倍,覆盖不同规模赛事:

if N ≤ 10:
    Min_Last_Prize = 2 × 报名费
elif N ≥ 100:
    Min_Last_Prize = 1.5 × 报名费
else:
    # 线性插值计算中间名额的最低末位奖金
    Min_Last_Prize = 2×报名费 - 0.5×报名费 × (N - 10)/(100 - 10)

4. 设计奖金比例递减曲线

根据需求,第一名占比随获奖名额增大从33%平滑降至18%,我用对数拟合出精准的第一名占比公式:

P1 = 0.48 - 0.065 × ln(N)

验证效果:

  • 当 N=10 时,P1≈0.48 - 0.065×2.302≈33%,完全匹配需求
  • 当 N=100 时,P1≈0.48 - 0.065×4.605≈18%,符合预期

接下来构建递减的比例序列,推荐用调整后的等比数列,既保证比例递减、总和为100%,又能满足末位奖金要求:

  1. 假设比例序列为 Pi = P1 × r^(i-1)(r 为小于1的公比,控制递减速率)
  2. 利用等比数列求和公式约束总和:P1×(1 - r^N)/(1 - r) = 1
  3. 同时满足末位奖金下限:P1×r^(N-1)×Pool ≥ Min_Last_Prize

如果手动解方程麻烦,也可以用迭代法调整r值(比如从0.8开始试),直到同时满足两个条件。

简化替代方案

如果不想折腾方程,也可以用幂函数递减序列:

Pi = k × (N - i + 1)^m

其中 k 是归一化系数(保证所有比例总和为1),m 是递减指数(控制递减快慢)。调整m值让第一名占比符合要求,同时末位比例满足最低奖金即可。

5. 最终奖金计算

确定比例序列后,每个名次的实际奖金为:

Prize_i = Pi × Pool

快速示例验证(N=10)

  • 报名费=100元,单笔抽成C=5元,剩余参赛人数M=67(N=ceil(67×0.15)=10)
  • 可分配奖金池:(100×67)-(5×67)=6365元
  • 末位最低奖金:2×100=200元
  • 第一名占比≈33% → 奖金≈6365×0.33≈2100元
  • 调整公比r≈0.85后,末位比例≈0.038,对应奖金≈6365×0.038≈242元,满足≥200元的要求,且所有比例总和为100%

内容的提问来源于stack exchange,提问作者Jherdman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:56:44