本题直接求出解析解也不困难,不过由于总数很小,直接编程列出所有投骰结果再用二分查找统计和汇总结果似乎更省力一些。
结果是$0.5731441$。
import itertools,bisect
p=sorted([sum(c) for c in itertools.product(range(1,5),repeat=9)])
d={}
for c in itertools.product(range(1,7),repeat=6):
x=sum(c)
d[x]=d.get(x,0)+1
m=1<<18
n=m*(6**6)
print "%.7f" %(1.0*sum((m-bisect.bisect(p,c))*d[c] for c in d.keys())/n)
|