誕生日のパラドックスをPythonで書いてみた
auです。
きのう誕生日のパラドックスについて感想的なものを書きました。
ですので、今回は誕生日のパラドックスのコードをPython書きました。
import random import sys def rand_birthday(m): ret = [] for i in range(10000): birthday_list = [] for j in range(m): x = random.randint(1, 365) if (x in birthday_list): ret.append(1) break else: birthday_list.append(x) if j == m-1: ret.append(0) return ret if __name__ == "__main__": m = int(sys.argv[1]) print(m, "peoples") ret = rand_birthday(m) print(ret.count(1) / len(ret)) // 実行結果 23 peoples 0.5017
大体23人くらいだと半分の確率を越えることがわかりました。
つまり、23人いるクラスだと、半分くらいの確率で同じ誕生日の人がいるのか・・・多いなあ。