# 1. データをリセットしてゲーム回数を設定
rm(list = ls())
N <- 100000

# 2. あなたの手札は「16」
my_hand <- 16

# 3. トランプのカード（2〜11）をランダムに10万回引く
# (J, Q, Kを10、Aを11として、均等に出ると仮定します)
cards <- c(2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
drawn_cards <- sample(cards, size = N, replace = TRUE)

# 4. カードを引いた後の合計点を計算
total_scores <- my_hand + drawn_cards

# 5. 21以下（セーフ！）だった回数を数える
safe_games <- total_scores <= 21

# 6. モンテカルロ法による確率の計算
winning_rate <- sum(safe_games) / N

# 7. 【100%正しい理論値】
# セーフになるカードは 2, 3, 4, 5 の「4通り」だけ。
# つまり 10通り中の4通り なので、4 / 10 = 0.4 (40%)
true_rate <- 4 / 10

# 結果の表示
cat("======================================\n")
cat(" シミュレーション（確率）:", winning_rate * 100, "%\n") # 約40%になります
cat(" 正しい理論値（確率）  :", true_rate * 100, "%\n")    # 確実に40.0%
cat("======================================\n")