用于在设定范围内计算指数限制的脚本

时间:2017-03-31 12:03:00

标签: python python-2.7 list math exponential

Table

在上面的图像中,列B是A1的倍数,列C是C = C + B(处理行)

我计算出为了使C为20行中的50,A1必须为0.2631579,但我希望能够将其简化为将返回列表的函数:list = exp(50, 20)。

我不确定这样一个剧本的术语,所以事先进行研究并没有带来任何遗憾。

1 个答案:

答案 0 :(得分:1)

根据您的问题陈述,我们知道:

乙<子>名词 =(N-1)×A ;和 C n =(n-1)×n×a / 2 (此处 a A 的值1 的)。

所以我们只需要为 C 20 = 50 解决 a 。或者更基础: C n = m 。这很简单: a = 2×m /(n×(n-1))

所以功能很简单:

def find_threshold(m,n):
    return 2.0*m/(n*(n-1))

对于您的样本输入,下限是:

>>> find_threshold(50,20)
0.2631578947368421

如果您在 Excel 表中插入此值,您将获得50(尽管可能存在小的舍入错误)。鉴于我们假设数字的计算是在恒定时间内完成的,这个脚本也可以在恒定的时间内工作( O(1)),所以它非常快(即使行号等等也是如此)庞大)。