【问题标题】:Arithmetic Progression Formula算术级数公式
【发布时间】:2011-09-06 06:21:00
【问题描述】:

我在计算算术级数时遇到了麻烦。我正在寻找一个输出比上次增加多 100 的公式......像这样:

100, 300, 600, 1000, 1500

所以增加模式是这样的:

(100+)200, (300+)300, (600+)400, (1000+)500, etc

2 小时和 2,正面和背面,草稿纸都没有这样的公式。我希望这是因为我的大脑现在真的被炸了。

这本质上是一个 rpg 的升级公式。 当您达到 1 级时,您需要 100 exp 才能升级。 1级:100(增加100)

2级:300(增加200)

3级:600(增加300)

4级:1000(增加400)

等等……

我不想对关卡进行硬编码,所以请有人帮助我。

【问题讨论】:

标签: math formula


【解决方案1】:

写下你所有的表达方式:

level i = leveil i-1 + i*100
level i-1 = level i-2 + i-1 * 100
...
level 1 = level 0 + 100

然后将这些公式总结为一级k左侧消除下一级k右侧,你得到:

Level i = level 0 + sum(k , k=1 to i)*100

then level i = i*(i+1)/2 *100

【讨论】:

  • 完美运行!非常感谢!我唯一能想到的另一件事是制作一个单独的变量以添加到 lvl*100。再次感谢!
【解决方案2】:

这只是一个简单的三角数方程。

k * n * (n + 1) / 2

k=100n=1,2,3,...。您可以像这样获取您的列表:

k = 100
n_max = 10

for n in range(1, n_max):
    print k * n * (n + 1) / 2

其中n_max 是您需要的元素数量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多