【发布时间】:2016-06-15 15:50:04
【问题描述】:
我需要一个可以解决以下问题的函数:对于二项式函数 nCr=k,给定 r 和 k 找到 n。在数学中 nCr=n!/r!(n-r)! 我尝试了以下但它没有解决它。例如 8C6=28,对于我的函数,输入是 6 和 28,我想找到 8。这可能没有确切的整数,所以我想找到一个 x>=n。
"""I am approaching it this way, i.e. find the solution of a polynomial function iteratively, hope there is a better way"""
def find_n(r,k):
#solve_for_n_in(n*(n-1)...(n-r)=math.factorial(r)*k
#in the above example solve_for_n(n*(n-1)(n-2)(n-3)(n-4)(n-5)=720*28)
sum=math.factorial(r)*k
n=r+1
p=1
while p<sum:
p=1
for i in range(0,r+2):
p*=(n-i)
n+=1
return n-1
谢谢。
【问题讨论】:
-
您似乎希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在发布者已经尝试自己解决问题时才提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码、示例输入(如果有的话)、预期输出和您实际获得的输出(控制台输出、回溯等)。您提供的详细信息越多,您可能收到的答案就越多。检查FAQ 和How to Ask。
-
我还是不知道你的问题是什么?这是否符合您的要求?如果不是,请提供有关示例输入和输出不适用的具体细节。
-
例如 **8C6**=28,对于我的函数,输入是 6 和 28,我想找到 8。
-
谢谢大家,我已经解决了。欢迎 cmets 和建议。寻找更有效的解决方案。
标签: matlab scipy combinations itertools discrete-mathematics