- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
Date 17/02/08 10:35:42
Name   April_fool
Subject   로또 번호와 정규분포

어제의 일입니다. 부장님이 잡담하시는 것을 듣고 있는데, 문득 그 중에 “로또에서 각 번호들의 총합이 백 얼마인 것이 가장 당첨 확률이 높더라”는 내용이 있더군요. 당연한 게 아닌가? 싶기도 했지만, 그래도 왠지 확인을 해보고 싶더라고요.

그래서 다음과 같은 간단한 프로그램을 짜서 돌려 보았습니다.

  1. import random
  2.  
  3. def plusAll(a):
  4.     # 리스트 속에 있는 모든 숫자를 더해 반환한다.
  5.     result = 0
  6.     while len(a) != 0:
  7.         result += a.pop()
  8.     return result
  9.  
  10. def counter(a):
  11.     # 리스트 속의 원소의 개수를 세어 튜플로 반환한다.
  12.     result = {}
  13.     for i in a:
  14.         if i in result:
  15.             result[i] = result[i] + 1
  16.         else:
  17.             result[i] = 1
  18.     return result
  19.  
  20. = []
  21. for i in range(1000000+1):
  22.     b = random.sample(range(1, 45+1), 6)
  23.     a.append(plusAll(b))
  24. = counter(a)
  25. = sorted(b.items())
  26.  
  27. file1 = open("a.tsv", "w")
  28. for (k, v) in c:
  29.     line = str(k) + "\t" + str(v) + "\n"
  30.     file1.write(line)
  31. file1.close()

이 파이썬 프로그램은 랜덤으로 로또 번호를 백만 개 생성하여, 그 숫자들의 합이 몇 개나 나오는지 세어서 특정 파일에다가 그 결과를 기록합니다. 이 결과물은 Microsoft Excel에서 열어볼 수가 있지요. 그리고, 그 결과물을 엑셀에서 분산형 차트로 그려보면 다음과 같습니다.

 …어디서 많이 본 듯한 모양의 그래프가 나왔습니다. 제가 듣기로, 이런 모양을 가리켜 [정규분포]라고 한다고 하더군요.

그러면, 저 그래프에서 가장 높은 값(=가장 많이 나온 값)은 어디일까요? 생각해보면, 로또의 각 숫자를 더한 값 중 가장 작은 수는 1+2+3+4+5+6=21이고, 가장 큰 수는 45+44+43+42+41+40=255입니다. (21+255)÷2=138이지요. 실제로 생성된 파일의 데이터를 살펴보아도, 138 부근의 값이 가장 많이 나온 것을 알 수 있습니다. 다시 말해서, 이론적으로 로또의 각 숫자의 합이 138과 유사한 경우가 상대적으로 당첨 확률이 높다는 결론이 나옵니다. 이걸 응용하면 옛날에 타임라인에 올렸던 로또번호 생성 프로그램을 개량할 수 있을 것 같아요.

이상, 오늘의 월도짓이었습니다.




3


    목록
    번호 제목 이름 날짜 조회 추천
    공지 티타임 게시판 이용 규정 2 토비 15/06/19 35846 1
    16040 사회교통체계로 보는 경로의존성 - 비공식 교통수단 통제의 어려움 2 루루얍 26/02/26 388 4
    16039 일상/생각27일 새벽 쿠팡 실적발표날입니다. 2 활활태워라 26/02/26 405 0
    16038 일상/생각우리집 삐삐 6 VioLet 26/02/25 390 7
    16037 창작회귀 5 fafa 26/02/25 277 1
    16036 일상/생각최근 AI발전을 보면서 드는 불안감 15 멜로 26/02/25 864 0
    16035 창작AI 괴롭혀서 만든 쌍안경 시뮬레이터 11 camy 26/02/25 488 5
    16034 IT/컴퓨터게임업계 현업자 실무자 티타임 스터디 모집합니다.claude.ai,antigravity,vibecoding 2 mathematicgirl 26/02/25 282 2
    16033 경제지능의 희소성이 흔들릴 때 3 다마고 26/02/24 609 6
    16032 영화단평 - <어쩔수가없다> 등 영화 5편 2 당근매니아 26/02/24 448 0
    16031 일상/생각문득 이런게 삶의 재미가 아닌가 싶네요. 6 큐리스 26/02/23 803 13
    16030 게임Google Gemini Canvas로 그냥 막 만든 것들 1 mathematicgirl 26/02/23 576 0
    16029 게임붉은사막은 궁극의 판타지여야 합니다. 4 닭장군 26/02/22 575 0
    16028 사회요즘 논란인 전기차 충전기 사업 1 DogSound-_-* 26/02/22 649 1
    16026 일상/생각나르시스트를 알아보는 방법에 대한 소고 4 레이미드 26/02/21 719 0
    16025 스포츠[MLB] 저스틴 벌랜더 1년 13M 디트로이트행 김치찌개 26/02/21 255 0
    16024 스포츠[MLB] 스가노 도모유키 1년 콜로라도행 김치찌개 26/02/21 195 0
    16023 정치윤석열 무기징역: 드물게 정상 범위의 일을 하다 20 명동의밤 26/02/20 1036 0
    16022 경제코스피 6000이 코앞이군요 6 kien 26/02/19 1064 0
    16021 경제신세계백화점 제휴카드 + 할인 관련 뻘팁 Leeka 26/02/18 626 6
    16020 게임5시간 동안 구글 제미나이3프로가 만들어준 게임 9 mathematicgirl 26/02/18 966 2
    16019 오프모임[오프모임] 대구❌/ 창원🅾️에서 모여봅시다!! (3월1일(일) 2시) 21 Only 26/02/18 971 8
    16018 일상/생각텅빈거리에서 그나마 제일 맘에 드는 편곡으로 올립니다. 3 큐리스 26/02/16 709 1
    16017 일상/생각실무를 잘하면 문제가 안 보인다 10 kaestro 26/02/15 1324 13
    16016 정치제미나이의 정치적 사건 및 재판에 대한 심각한 Halluciation 10 영원한초보 26/02/15 1105 0
    목록

    + : 최근 2시간내에 달린 댓글
    + : 최근 4시간내에 달린 댓글

    댓글