私は初心者で、Pythonで次の階乗級数をコーディングして、有限範囲内の級数の最初の一致する数を計算しようとしています。kd×d×(d-1)×⋯×(d-k + 1)d×d×⋯d= k(d-1)!dk(d-k)!したがって、一致に必要な数の期待値は、∑k = 1d(k + 1)k(d-1)!dk(d-k)!です。
数値のサイズが原因で、エラーが発生します。OverflowError:long intが大きすぎてfloatに変換できないため、ログを使用していますが、それでもエラーが発生します。誰かがこれについて良い考えを持っているかどうか疑問に思います。
m = 365
q = 1
a=[]
for x in range(q,m):
#y = y + x*(1/365)
#####y = y + (factorial(x)/(factorial(m-x)*(exponent(m,x))))
a.append((log((factorial(m))/exponent(m,x)))*log((q+x)/m))
#y = [(m-x)*factorial(m-x)/m]
#print ("x: ",x," y: ",y)
#return "a:",a," product-sum:",[a*a for a in a]
return sum(a)
申し訳ありませんが、上記の式が明確ではありません。これが私が得ようとしているものです:http: //en.wikipedia.org/wiki/Birthday_problem#Average_number_of_people