반응형
로또 1등에 당첨될 확률은 약 1/8,145,060입니다.
아래는 C#으로 작성된, 1부터 45까지 중복 없이 6개의 숫자를 랜덤으로 뽑는 함수입니다. 이 함수는 HashSet<int>를 사용하여 중복을 방지하고, Random 객체를 활용합니다.
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// 랜덤 번호 생성
List<int> lottoNumbers = GenerateLottoNumbers();
// 결과 출력
Console.WriteLine("랜덤 로또 번호: " + string.Join(", ", lottoNumbers));
}
static List<int> GenerateLottoNumbers()
{
Random random = new Random();
HashSet<int> numbers = new HashSet<int>();
// 중복 없이 6개의 번호 선택
while (numbers.Count < 6)
{
int num = random.Next(1, 46); // 1부터 45까지의 랜덤 숫자
numbers.Add(num); // 중복된 숫자는 자동으로 제외됨
}
// HashSet을 정렬된 List로 변환
List<int> result = new List<int>(numbers);
result.Sort(); // 번호를 오름차순 정렬
return result;
}
}
코드 설명:
- Random 객체 사용:
- random.Next(1, 46)은 1부터 45까지의 정수를 생성합니다.
- HashSet<int> 사용:
- 중복된 숫자가 자동으로 제외되므로 중복 검사가 필요 없습니다.
- 정렬:
- result.Sort()를 통해 출력된 번호를 오름차순으로 정렬합니다.
실행 결과 예시:
랜덤 로또 번호: 5, 12, 23, 29, 34, 41
이 코드를 실행하면 매번 새로운 랜덤 로또 번호를 생성할 수 있습니다! 😊
반응형
'C#' 카테고리의 다른 글
SocketException: '각 소켓 주소는 하나만 사용할 수 있습니다' 에러 원인 및 해결법 (0) | 2025.01.10 |
---|---|
C# internal: 어셈블리 내 접근 제한자 (0) | 2025.01.10 |
C# Struct vs Class: 차이점과 최적 사용 사례 (0) | 2025.01.06 |
재미로 만드는 로또 번호 생성기 #2_로또 API를 이용해서 당첨 번호 조회하기. (2) | 2025.01.05 |
C#의 Garbage Collection (GC) 개념 (5) | 2025.01.03 |
C#로 특정 폴더 내 파일 이름 변경 (1) | 2025.01.03 |
WNetUseConnection 함수의 리턴값과 오류 코드 목록 (1) | 2025.01.03 |
C#에서 WORD, DWORD와 비트 연산을 처리하는 방법 (0) | 2024.12.31 |