Random(n)は,0以上n未満の整数を一様な確率で返す関数である。
整数型の変数A,B及びCに対して次の一連の手続を実行したとき,Cの値が0になる確率はどれか。
A = Random(10)
B = Random(10)
C = A-B
正答3
解説
正解は3です。
Cが0になるのは、AとBが同じ値になるときです。
AとBはそれぞれ0〜9の10通りを等確率でとり、互いに独立に決まります。
【計算】
AとBの組合せは全部で10×10=100通りあります。
A=Bとなる組合せは、(0,0)、(1,1)、…、(9,9)の10通りです。
よって、確率は10÷100=1/10です。
別の考え方として、Aの値が何であっても、Bがそれと一致する確率は1/10です。
【選択肢別解説】
1:× 1/100は、AとBがともに特定の値(例えば両方0)になる確率です。
A=Bとなるのは10通りあるので、その10倍になります。
2:× 1/20になる組合せの数え方はありません。
A=Bとなる10通りを100通りで割ると1/10です。
3:○ A=Bとなる10通りを全100通りで割った値であり、Cが0になる確率と一致します。
4:× 1/5は20通りに相当しますが、A=Bとなる組合せは10通りしかありません。
【ポイント】
「独立な2つの一様乱数が一致する確率」は、とり得る値の個数の逆数になります。
組合せ表を思い浮かべると、対角線上の個数を数える問題だと分かります。