- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
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 Toby 15/06/19 30611 6
    14607 요리/음식드디어 쓰는 쌀국수 투어 모음집 2편 11 + kogang2001 24/04/19 212 4
    14606 요리/음식드디어 쓰는 쌀국수 투어 모음집 1편 4 kogang2001 24/04/19 216 7
    14605 게임오픈월드를 통한 srpg의 한계 극복 13 kaestro 24/04/19 405 2
    14604 일상/생각개인위키 제작기 6 와짱 24/04/17 738 11
    14603 정치정치는 다들 비슷해서 재미있지만, 그게 내이야기가 되면... 9 닭장군 24/04/16 1118 6
    14602 오프모임5월 1일 난지도벙 재공지 8 치킨마요 24/04/14 727 2
    14601 꿀팁/강좌전국 아파트 관리비 조회 및 비교 사이트 11 무미니 24/04/13 842 6
    14600 도서/문학떡볶이는 좋지만 더덕구이는 싫은 사람들을 위하여 13 kaestro 24/04/13 1058 5
    14599 일상/생각가챠 등 확률성 아이템이 있는 도박성 게임에 안 지는 방법 20 골든햄스 24/04/12 1084 0
    14598 음악[팝송] 코난 그레이 새 앨범 "Found Heaven" 김치찌개 24/04/12 171 0
    14597 스포츠앞으로 다시는 오지않을 한국야구 최전성기 12 danielbard 24/04/12 989 0
    14596 정치이준석이 동탄에서 어떤 과정으로 역전을 했나 56 Leeka 24/04/11 2481 6
    14595 정치방송 3사 출구조사와 최종 결과 비교 4 Leeka 24/04/11 760 0
    14594 정치절반의 성공을 안고 몰락한 정의당을 바라보며 10 카르스 24/04/11 1326 18
    14593 정치홍차넷 선거결과 예측시스템 후기 11 괄하이드 24/04/11 904 6
    14592 정치2024 - 22대 국회의원 선거 불판. 197 코리몬테아스 24/04/10 5328 2
    14591 정치선거일 직전 끄적이는 당별관련 뻘글 23 the hive 24/04/09 1261 0
    14590 오프모임[5월1일 난지도 벙] 근로자 대 환영! 13 치킨마요 24/04/09 601 1
    14589 일상/생각지난 3개월을 돌아보며 - 물방울이 흐르고 모여서 시냇물을 만든 이야기 6 kaestro 24/04/09 384 3
    14588 일상/생각다정한 봄의 새싹들처럼 1 골든햄스 24/04/09 276 8
    14587 일상/생각탕후루 기사를 읽다가, 4 풀잎 24/04/09 421 0
    14586 음악VIRGINIA (퍼렐 윌리엄스) 신보 카라멜마끼아또 24/04/08 272 2
    14585 오프모임4월 9일 선릉역에 족발 드시러 가실분. 29 비오는압구정 24/04/08 793 4
    14583 정치총선 결과 맞추기 한번 해볼까요? 52 괄하이드 24/04/07 1445 0
    목록

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

    댓글