﻿rm(list = ls())  # ワークスペースをクリア
n <- 100000  # 試行回数
set.seed(1)  # 乱数のシード値を固定
X <- runif(n)  # U(0,1)に従う乱数をn個生成し，Xに代入
Y <- (2 - 2 * X) * runif(n)  # U(0,2-2X)に従う乱数をn個作成し，Yに代入
# 確率を表示
sum(Y >= 1) / n  # モンテカルロ法
(1 / 2) * (1 - log(2))  # 参考：理論値