﻿rm(list = ls())  # ワークスペースをクリア
n <- 100000  # 試行回数
card <- c(2, 4, 4, 8, 8, 8)  # カードの番号
X <- numeric(n)  # 取り出されたカードの番号の最小値を格納するベクトル
set.seed(1)  # 乱数のシード値を固定
for (i in 1:n) {
  # カードを2枚取り出す (※非復元抽出)
  selected_cards <- sample(card, 2, replace = FALSE)
  X[i] <- min(selected_cards)  # 2枚のカードの最小値をXに代入
}
# Xの平方根の期待値を表示
mean(sqrt(X))  # モンテカルロ法
11*sqrt(2)/15 + 14/15  # 参考：理論値