// Hash 는 List의 한 종류로써, 중복된 값이 들어가지 않음
HashSet<int> HS_Num = new HashSet<int>();
// Random class
Random rd_num = new Random();
// Base 배열, rd_Num.Next() 를 통해서 뽑은 번호 만큼 증가
int[] nBase = new int[46];
// Max를 뽑은 만큼의 배열
int[] nCollect = new int[6];
do
{
// 숫자를 집어 넣음
HS_Num.Add( rd_num.Next(1, 45) );
// 집어 넣은 숫자가 6번이되면
if (HS_Num.Count == 6)
{
nCollect = HS_Num.ToArray<int>();
// Base 를 증가
for (int m = 0; m < 6; m++)
{
nBase[nCollect[m]]++;
}
break;
}
}
while (true);
// 6번 넣을껀데
for (int m = 0; m < 6; m++)
{
// Max 값을 찾고
int nMax = nBase.Max();
for (int n = 1; n < 46; n++)
{
// Max랑 같은 것을 찾은 다음
if ( nMax == nBase[n])
{
// 해당 번호를 collect 에 넣고
nCollect[m] = n;
// Base는 0 이 되면서 Max에서 제외
nBase[n] = 0;
break;
}
}
}