import Random  # 乱数を扱うためのモジュールをインポート
n = 100000  # 試行回数
# n回の試行結果(※Aが勝てば1，Bが勝てば2，Cが勝てば3)を格納する配列
winner_flag = zeros(n)
Random.seed!(1)  # 乱数のシード値を固定
for i in 1:n
    x = 0  # さいころの目
    y = 0  # 勝者の情報 (※Aが勝てば1，Bが勝てば2，Cが勝てば3)
    while y == 0
        x = Random.rand(1:6)  # Aがさいころを投げ，出た目をxに代入
        if x == 6  # Aが最初に6の目を出す場合
            y = 1　# Aが勝者
            break　# 勝負を終える  
        end
        x = Random.rand(1:6)  # Bがさいころを投げ，出た目をxに代入
        if x == 6  # Bが最初に6の目を出す場合
            y = 2  # Bが勝者
            break  # 勝負を終える
        end
        x = Random.rand(1:6)  # Cがさいころを投げ，出た目をxに代入
        if x == 6  # Cが最初に6の目を出す場合
            y = 3  # Cが勝者
            break  # 勝負を終える
        end
    end
    winner_flag[i] = y  # i回目の試行における勝者を記録
end
# Aが勝者となる確率を表示
println(count(winner_flag .== 1) / n)  # モンテカルロ法
println(36 / 91)  # 参考：理論値
# Bが勝者となる確率を表示
println(count(winner_flag .== 2) / n)  # モンテカルロ法
println(30 / 91)  # 参考：理論値
# Cが勝者となる確率を表示
println(count(winner_flag .== 3) / n)  # モンテカルロ法
println(25 / 91)  # 参考：理論値