ランダム化

rand2() を使用して rand3() を実装する
2026

rand2() を使用して rand3() を実装する

等しい確率で 0 または 1 を返す関数 rand2() が与えられた場合、等しい確率で 0、1、または 2 を返す rand2() を使用して rand3() を実装します。 rand2() メソッドの呼び出し数を最小限に抑えます。また、他のライブラリ関数や浮動小数点演算の使用は許可されません。

rand6() を使用して rand12() を 1 行で実装します
2026

rand6() を使用して rand12() を 1 行で実装します

1 ~ 6 の乱数を等しい確率で返す関数 rand6() を指定すると、1 ~ 12 の乱数を等しい確率で返す rand6() を使用してワンライナー関数 rand12() を実装します。この解決策では、 rand6() メソッドの呼び出し数を最小限に抑える必要があります。他のライブラリ関数や浮動小数点演算の使用は許可されません。