C#
(C#) 로또 번호 중복되지 않게 생성
코딩ABC
2023. 6. 24. 22:06
반응형
다음 코드는 C#으로 로또 번호 1 ~ 45 사이의 수를 중복되지 않도록 6개 생성하는 코드입니다.
using System;
namespace ConsoleApp_FirstApp
{
class Program
{
static void Main(string[] args)
{
int[] lotto = new int[6];
int i, cnt = 0;
Random rand = new Random();
cnt = 0;
while (cnt < 6)
{
int r = rand.Next(1, 46); // 1 ~ 45의 난수 생성
for (i = 0; i < cnt; i++) // 중복 검색: 이미 생성된 개수 만큼만 반복
if (lotto[i] == r) break;
if (cnt == i) lotto[cnt++] = r;
}
Array.Sort(lotto); // 크기 순으로 정렬
for (i = 0; i < 6; i++)
Console.Write("{0,2} ", lotto[i]);
Console.WriteLine();
}
}
}
위 코드를 10번 반복하도록 했습니다. 한꺼번에 10개의 로또 번호를 생성합니다.
using System;
namespace ConsoleApp_FirstApp
{
class Program
{
static void Main(string[] args)
{
int[] lotto = new int[6];
int i, cnt = 0;
Random rand = new Random();
for (int k = 0; k < 10; k++)
{
cnt = 0;
while (cnt < 6)
{
int r = rand.Next(1, 46);
for (i = 0; i < cnt; i++) // 이미 생성된 개수 만큼 반복
if (lotto[i] == r) break;
if (cnt == i) lotto[cnt++] = r;
}
Array.Sort(lotto);
for (i = 0; i < 6; i++)
Console.Write("{0,2} ", lotto[i]);
Console.WriteLine();
}
}
}
}
만들어진 프로그램으로 생성된 번호입니다. 언젠가는 1등에 당첨된 번호가 나올 수 있기를 ...
6 22 25 29 36 39 3 8 9 20 24 29 15 16 26 28 32 33 5 9 12 15 25 30 18 19 27 28 29 36 4 8 19 33 40 45 11 12 21 28 35 38 13 20 33 34 36 44 9 12 19 22 32 34 4 6 10 14 20 24 21 22 27 35 36 37 4 8 9 16 25 41 10 20 21 36 41 45 7 17 20 22 23 43 15 24 31 36 40 44 8 19 25 31 32 40 14 15 16 40 43 44 9 10 18 38 40 45 2 8 18 27 34 43 7 8 18 22 38 45 1 8 14 21 24 33 2 4 17 26 29 41 9 13 17 25 31 45 9 11 14 19 22 32 4 8 14 15 22 35 13 16 23 31 33 43 1 8 10 22 25 26 6 8 11 17 20 26 9 10 17 19 39 44 11 18 23 32 38 39 |
반응형