﻿rm(list = ls())  # ワークスペースをクリア
prob <- function(k) {
  set.seed(1)  # 乱数のシード値を固定
  # 二項分布B(10000,0.5)に従う乱数をk個生成し，Snに代入
  Sn <- rbinom(k, size = 10000, prob = 0.5)
  target_prob <- sum(4900 <= Sn & Sn <= 5100) / k
  return(target_prob)
}
# モンテカルロ法で求めた確率を表示 (参考：理論値は0.9544)
prob(10) ; prob(100) ; prob(1000) ; prob(10000) ; prob(100000)