﻿rm(list = ls())  # ワークスペースをクリア
n <- 100000  # 試行回数
X <- numeric(n)  # 表が出る1円硬貨の合計金額を格納するベクトル
Y <- numeric(n)  # 表が出る5円硬貨の合計金額を格納するベクトル
set.seed(1)  # 乱数のシード値を固定
for (i in 1:n) {
  coin_1 <- sample(c(0, 1), 10, TRUE)  # 1円硬貨10枚を同時に投げた結果
  X[i] <- sum(coin_1)  # 表が出た1円硬貨の合計金額
  coin_5 <- sample(c(0, 1), 3, TRUE)  # 5円硬貨3枚を同時に投げた結果
  Y[i] <- sum(coin_5) * 5  # 表が出た5円硬貨の合計金額
}
Z <- X + Y  # 表が出た硬貨の合計金額のベクトルを作成
# 分散V(Z)を表示
var(Z)  # モンテカルロ法
85/4  # 参考：理論値
# 期待値E(XY^2)を表示
mean(X * Y * Y)  # モンテカルロ法
375  # 参考：理論値