2015-10-20 40 views
-4

元组是n元组生日悖论

生日问题方程是这样的:

问题:

对于n = 200,写的算法(在Python),用于枚举样本空间中满足至少两个人具有相同生日的条件的元组数目。 (请注意,你的算法将需要扫描每个元组)

import itertools 

print(list(itertools.permutations([0,0,0])) 

我想知道这个问题,我怎么插入n到这一点?

+0

看起来很像一个家庭作业。 – dpwilson

+0

嘿,我想要他有的徽章:P只是因为不是一个完整的*****:问题表明'n = 200',你为什么要使用'n',你实际上知道这个值。 – KurzedMetal

+0

这是即时通讯没有要求回答只是如何获得n在那里 – Superman5r4ee34

回答

0

“如何得到n个中就有”:

n = 200 
space = itertools.permutations(bday_pairs, n) 

我已经离开了你的代码的几个部分组成:

itertools返回一个列表;你不需要强迫它。

打印这个结果可能不是你想要的n = 200;这是一个巨大的列表。

现在,您需要做的就是构建bday_pairs,所有可能的生日对的列表。为了方便起见,我建议你使用整数1-365。既然你根本没有攻击那部分问题,我会把这一步留给你。

您仍然需要执行处理来计算至少有一个匹配生日的集合,这是您未遭受攻击的另一部分问题。不过,我相信上面的代码解决了你陈述的问题?

+0

谢谢多数民众赞成我需要:)(新的python)。 – Superman5r4ee34

+0

是啊200太大我现在做的小号 – Superman5r4ee34

+0

肯定!我测试了n = 2和n = 4。:-) – Prune