出于好奇,我想知道是否有一种方法可以通过python中的模拟来求解二项系数。我试了一点,但是数字变得如此之快,以至于我除了很小的数字之外,什么也解不出来。在
我知道这个question,但无法确定一个只使用蛮力来求解系数的解决方案。但我必须承认,我并不了解其中列出的所有实现。在
这是我天真的做法:
import random
import numpy as np
from math import factorial as fac
# Calculating the reference with help of factorials
def comb(n,k):
return fac(n) // fac(k) // fac(n-k)
# trying a simple simulation with help of random.sample
random.seed(42)
n,k = 30,3
n_sim = 100000
samples = np.empty([n_sim,k], dtype=int)
for i in range(n_sim):
x = random.sample(range(n),k)
samples[i] = sorted(x)
u = np.unique(samples, axis=0)
print(len(u))
print(comb(n,k))
有没有可能高效、快速地处理大量数据?在
我用这个,它对大量数据非常有效:
相关问题 更多 >
编程相关推荐