2015-10-20 71 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