반응형
지난번에 C++를 이용하여 로또(6/45) 번호를 생성하는 코드를 작성해봤는데 이번에는 C#을 이용하여 작성해봤다.
2019/03/29 - [Programming] - [C++] 로또 번호 생성 코드 (rand, list)
코드는 여타 로또 번호 생성하는 코드와 비슷하게 Rand함수를 이용한다.
C++ 이든 C#이든 Rand함수를 이용할 때 시드값(Seed)을 넣어줘야만 난수 생성시 중복되는 경우를 줄일 수 있다.
코드는 아래와 같다.
private ListGetLotteryNumber() { int nNum = 0; List listLottery = new List (); for (int i = 0; i < LOTTONUM; i++) { Random rand = new Random(((int)DateTime.Now.Ticks) + i); nNum = rand.Next(1, 45); if(!listLottery.Contains(nNum)) listLottery.Add(nNum); else{ i--; continue; } } return listLottery; }
GetLotteryNumber 함수의 리턴값 타입으로 List를 이용했는데 이건 내가 쓰기 편해서 List를 이용했다.
더 쉬운 방법으로 배열을 이용하면 된다.
Random함수를 통해 난수를 1부터 45까지의 난수를 생성하여 중복된 값인지 체크하고 중복값이라면 반복문을 한스텝 빼주고 continue로 처리했다.
'Programming' 카테고리의 다른 글
[Python] 쉘스크립트(Shell Script, *.sh) 자동 Formatter - Bash Script Beautifier (0) | 2019.05.19 |
---|---|
[C++, STL] 범위기반 반복문으로 Iterator 쉽게 사용하기 (0) | 2019.04.16 |
[MFC] CRect 이용 사각형 겹치는 영역 구하기 (0) | 2019.04.10 |
Visual Assist X 10.9 (0) | 2019.04.07 |
Visual Studio 최근 열어본 프로젝트 / 파일 항목 삭제 (0) | 2019.04.02 |