- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
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 31819 7
    15090 철학/종교할일 없는김에 써보는 미신(신점 사주 등) 후기 5 다른동기 24/12/04 325 0
    15089 오프모임[일정변경오프]12/4 18:50~탄핵실패(하야요구) 여의도산책 11 24/12/04 874 5
    15088 음악[팝송] 얼모스트 먼데이 새 앨범 "DIVE" 김치찌개 24/12/03 119 1
    15087 정치바이든의 사면, 하나 남은 도미노가 무너지면. 7 코리몬테아스 24/12/02 1052 9
    15086 경제고수익 알바를 해보자 (아웃라이어 AI) 55 치킨마요 24/12/01 1321 6
    15084 영화잃을 것이 많아진 어른의 모험 - 모아나2 2 kaestro 24/12/01 359 4
    15083 기타★결과★ 스타벅스 아메리카노 당첨자 ★발표★ 9 Groot 24/12/01 343 3
    15082 게임2024년 개인적인 게임 로그 2 에메트셀크 24/12/01 326 1
    15081 IT/컴퓨터분류를 잘하면 중간은 간다..? 닭장군 24/12/01 410 5
    15080 꿀팁/강좌스피커를 만들어보자 - 2. 인클로저 방식 4 Beemo 24/11/29 408 6
    15079 방송/연예안타까운 르세라핌 9 닭장군 24/11/28 1054 1
    15078 오프모임이번주 토요일 국중박 특별전시 5 치킨마요 24/11/28 537 0
    15077 도서/문학거미여인의 키스 읽기 4 yanaros 24/11/28 498 8
    15076 일상/생각아무말대잔치 - 미국의 비트코인 담론 14 은머리 24/11/28 672 3
    15075 기타[나눔] 별다방 아메리카노 T 깊콘 1장 22 Groot 24/11/28 395 12
    15074 도서/문학『원더풀랜드』-미국이 2개의 이념의 나라로 된다 인생살이 24/11/28 468 1
    15073 스포츠[MLB] 블레이크 스넬 5년 182M 다저스행 김치찌개 24/11/28 167 1
    15072 오프모임썸녀 만들기 조차 실패한 기념 솔크 준비 19 치킨마요 24/11/27 977 0
    15071 기타나르시시스트가 교회를 좋아할 수 밖에 없는 이유 7 평생모쏠 24/11/27 601 0
    15070 스포츠[MLB] 기쿠치 유세이 3년 63m 에인절스행 김치찌개 24/11/26 257 1
    15069 정치이재명 위증교사 1심 판결 재판부 설명자료 5 과학상자 24/11/26 973 5
    15068 꿀팁/강좌스피커를 만들어보자 - 1. 6 Beemo 24/11/25 541 13
    15067 도서/문학『눈물을 마시는 새』 - 변화를 맞이하는 고결한 방법 1 meson 24/11/24 552 6
    15066 도서/문학린치핀 - GPT 세계에서 대체 가능한 톱니바퀴를 벗어나려면 6 kaestro 24/11/24 446 1
    목록

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

    댓글