Programming
[C#] 로또 번호 생성 코드 (Random, List)
Lunik
2019. 4. 12. 14:21
반응형
지난번에 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로 처리했다.