728x90
728x170
자주 나오는 번호의 조합으로 로또 번호를 추출합니다.
using System;
using System.Collections.Generic;
public class LottoPredictor {
public static void Main() {
// 로또 번호 빈도를 계산할 기간 정의 (예: 최근 20번의 추첨)
const int NumberOfResultsToAnalyze = 20;
// 추첨 결과 리스트 작성
List<List<int>> lottoResults = new List<List<int>>();
// 최근 20회차 추첨 결과를 추가
lottoResults.Add(new List<int> { 1, 5, 9, 19, 23, 33, 40 });
lottoResults.Add(new List<int> { 4, 10, 14, 22, 31, 33, 35 });
lottoResults.Add(new List<int> { 1, 7, 13, 14, 18, 25, 37 });
lottoResults.Add(new List<int> { 2, 11, 21, 25, 28, 39, 42 });
lottoResults.Add(new List<int> { 3, 4, 16, 30, 31, 37, 40 });
lottoResults.Add(new List<int> { 4, 9, 10, 17, 32, 41, 43 });
lottoResults.Add(new List<int> { 7, 11, 14, 17, 18, 26, 42 });
lottoResults.Add(new List<int> { 3, 6, 17, 23, 34, 38, 41 });
lottoResults.Add(new List<int> { 5, 25, 26, 27, 34, 39, 43 });
lottoResults.Add(new List<int> { 13, 16, 18, 21, 27, 31, 41 });
lottoResults.Add(new List<int> { 8, 19, 25, 34, 37, 39, 43 });
lottoResults.Add(new List<int> { 8, 10, 17, 18, 29, 38, 44 });
lottoResults.Add(new List<int> { 2, 4, 11, 18, 22, 26, 39 });
lottoResults.Add(new List<int> { 7, 13, 14, 16, 17, 42, 43 });
lottoResults.Add(new List<int> { 5, 8, 10, 11, 16, 34, 39 });
lottoResults.Add(new List<int> { 4, 6, 15, 22, 38, 43, 45 });
lottoResults.Add(new List<int> { 6, 8, 9, 14, 35, 44, 45 });
lottoResults.Add(new List<int> { 1, 3, 12, 28, 34, 42, 45 });
lottoResults.Add(new List<int> { 7, 13, 23, 27, 29, 35, 40 });
lottoResults.Add(new List<int> { 9, 10, 25, 35, 38, 44, 45 });
// 각 번호별로 나온 횟수 계산
Dictionary<int, int> frequencyMap = new Dictionary<int, int>();
foreach (List<int> result in lottoResults) {
foreach (int number in result) {
if (frequencyMap.ContainsKey(number)) {
frequencyMap[number]++;
} else {
frequencyMap[number] = 1;
}
}
}
// 가장 빈도가 높은 6개의 로또 번호 출력
List<int> predictedNumbers = new List<int>();
for (int i = 0; i < 6; i++) {
int maxFreq = -1;
int maxNumber = -1;
foreach (KeyValuePair<int, int> freq in frequencyMap) {
if (freq.Value > maxFreq && !predictedNumbers.Contains(freq.Key)) {
maxFreq = freq.Value;
maxNumber = freq.Key;
}
}
predictedNumbers.Add(maxNumber);
}
// 예측된 번호 출력
Console.WriteLine("예측된 번호: " + String.Join(", ", predictedNumbers));
}
}
728x90
그리드형
'C#' 카테고리의 다른 글
[C#] Datatable Merge 하기 (0) | 2023.06.29 |
---|---|
[C#] 구조체를 json 문자열로 CRUD 하기 (0) | 2023.06.28 |
[C#] Entity Framework Core 에서 필드 Auto Increment 필드 처리하기 (0) | 2023.06.18 |
[C#] Entity Framework Core 에서 특정 필드 테이블에서 제외하기 (0) | 2023.06.18 |
[C#] Entity Framework Core 에서 pk 2개 이상 지정하기 (0) | 2023.06.14 |