これは何?
- 「LOTO7」の当選確率を計算してみたメモ
計算方法(基本的な考え方)
- 高校数学(数学A)の「組み合わせ」を利用
- n個の中からr個選択する場合
- 37個の中から7個選択する場合(LOTO 7 分母)
- 計算方法
- n個の中からr個選択する場合
>>> format(int((37*36*35*34*33*32*31)/(7*6*5*4*3*2*1)),',d') '10,295,472'
pythonでの計算・出力方法
-
- 分母は「denom」、分子は「numer」とするとよさそう。
- 分数は「fraction」
分子/分母の結果を小数点以下10桁の小数で表示
>>> from decimal import Decimal >>> denom_int = int(('10,295,472').replace(',','')) >>> denom_int 10295472 >>> numer_int = 1 >>> numer_int 1 >>> print("{0:.10f}".format(Decimal(numer_int/denom_int))) 0.0000000971 >>>
- 7個から5個選択する組み合わせ(combination)の例
>>> import itertools >>> l = list(range(1,8)) >>> l [1, 2, 3, 4, 5, 6, 7] >>> c_list = list(itertools.combinations(l,5)) >>> print(len(c_list)) 21
計算結果一覧表
等 | 条件 | 当せん金(理論値) | 分子 | 分母 | 確率(1 = 100%) | 備考 |
---|---|---|---|---|---|---|
1 | 申込数字が本数字7個と全て一致 | 600,000,000 | = 1 | 10,295,472 | 0.0000000971 | |
2 | 申込数字が本数字6個と一致し、 更にボーナス数字2個のうち1個と一致 |
7,300,000 | * * = 14 | 10,295,472 | 0.0000013598 | |
3 | 申込数字が本数字6個と一致 | 730,000 | * * = 196 | 10,295,472 | 0.0000190375 | |
4 | 申込数字が本数字5個と一致 | 9,100 | * = 9,135 | 10,295,472 | 0.0008872833 | |
5 | 申込数字が本数字4個と一致 | 1,400 | * = 142,100 | 10,295,472 | 0.0138021841 | |
6 | 申込数字が本数字3個と一致し、 更にボーナス数字1個または2個と一致 |
1,000 | * * + * * = 242,550 |
10,295,472 | 0.0235589005 |
結果・感想
- 1等当せん確率は「0.00000971%」(約1030万分の1)。
- すべての当せん確率を合計しても「3.8%」程度。
>>> (0.0000000971+0.0000013598+0.0000190375+0.0008872833+0.0138021841+0.0235589005)*100 3.82688623
参考
- loto
- python
- hatenablog
注釈
- 無し