﻿import numpy as np  # モジュールNumpyをnpという名前でインポート
def prob(k):
    np.random.seed(1)  # 乱数のシード値を固定
    # 二項分布B(10000,0.5)に従う乱数をk個生成し，Snに代入
    Sn = np.random.binomial(10000, 0.5, k)
    target_prob = np.sum((4900<=Sn) & (Sn<=5100)) / k
    return target_prob

# モンテカルロ法で求めた確率を表示 (参考：理論値は0.9544)
print(prob(100))
print(prob(1000))
print(prob(10000))
print(prob(100000))