﻿# パッケージがインストール済なら次の行は不要
# import Pkg; Pkg.add("Statistics") 
import Random  # 乱数を扱うためのモジュールをインポート
using Statistics
n = 100000  # 試行回数
X = zeros(n)  # 表が出る50円硬貨の合計金額を格納する配列
Y = zeros(n)  # 表が出る100円硬貨の合計金額を格納する配列
Random.seed!(1)  # 乱数のシード値を固定
for i in 1:n
    coin_50 = rand([0, 50], 2)  # 50円硬貨2枚を同時に投げた結果
    X[i] = sum(coin_50)  # 表が出た50円硬貨の合計金額
    coin_100 = rand([0, 100], 3)  # 100円硬貨3枚を同時に投げた結果
    Y[i] = sum(coin_100)  # 表が出た100円硬貨の合計金額
end
Z = X + Y  # 表が出た硬貨の合計金額
# 期待値E(Z)を表示
println(mean(Z))  # モンテカルロ法
println(200)  # 参考：理論値
# 標準偏差σ(Z)を表示
println(sqrt(((n - 1) / n) * var(Z)))  # モンテカルロ法
println(25 * sqrt(14))  # 参考：理論値