중복 조합 만들기
사용자그룹3786339,0개,4개,12,13,34,42,5,11
사용자그룹3786340,0개,4개,12,13,34,43,5,11
사용자그룹3708626,0개,4개,9,38,39,43,5,8
사용자그룹3708627,0개,4개,9,38,39,44,5,8
사용자그룹3708628,0개,4개,9,38,40,41,5,8
위와 같이 1-45의 숫자를 6개의 숫자 조합이 814만여개가 있습니다.
1.위 814만여개의 조합에서 위 숫자 6개 중 5개가 동일한 조합의 중복수를 만들려고 합니다.
한 그룹에 5000개로 분할하면서 중복수는 사용자가 임으로 정해서
중복수 조합을 만들려고 합니다.
중복조합을 만드는 기준은 1-45의 숫자를 5수로 조합하면 122만여개의
조합이 생상 됩니다.
위 122만여개의 조합이 모두 들어가는 중복수를 만드는 것입니다.
즉 1, 2, 3, 4, 5, 의 5수 조합에 뒤에 한수를 더 넣어 6수 조합의 중복수를 만드는 것이므로
1, 2, 3, 4, 5, (6)
(7)
(8)
(9) (10) ....... (43) (44) (45),
이런 방법으로 40개의 조합이 생성됩니다.
2.그런데, 사용자그룹,0개,4개,9,18,26,30,38,406수가 있다면
위 6수를 5수 조합으로 만들면
9, 18, 26, 30, 38, 9, 18, 26, 30, 40
9, 18, 26, 38, 40 9, 18, 30, 38, 40
9, 26, 30, 38, 40 18, 26, 30, 38, 40
이렇게 6조합을 만들 수 있습니다.
위 조합들에는 위 5수를 뺀 나머지 숫자들이 들어가야
6수 조합이 됩니다.
9, 18, 26, 30, 38, 이 조합을 예로 든다면
(1-8) 9,(10-17) 18,(19-25) 26,(27-29) 30,(31-37) 38,(39-45)
이렇게 괄호 안의 숫자를 한 개 붙여야 6수 조합이 됩니다.
3.5수 조합으로 중복수를 만드는 것이므로
7중복 조합을 만든다고 하면
(1) 9, 18, 26, 30, 38, (2) 9, 18, 26, 30, 38,
9, (10) 18, 26, 30, 38, 9, 18, (20) 26, 30, 38,
9, 18, 26, (27) 30, 38, 9, 18, 26, 30, (35) 38,
9, 18, 26, 30, 38, (45)
위와 같이 어떤 자리의 숫자든 한 개가 들어가고,
5개사 동일한 숫자이면 중복조합이라고 합니다.
4. 5수 조합은 122만여개입니다.
이 5수 조합을 이용하여 중복조합을 만들려는 것입니다.
가. 814만 조합에서 맨 처음 조합을 5수 조합으로 만들면
6수 조합이 생성 된다고 하였습니다.
맨 처음 생성된 조합을 이용하여 중복 조합을 만들어야 합니다.
나머지 5개 조합은 뒤에서 사용할 것입니다.
나.5수 조합은 122만여개라 하였습니다.
이 것을 6수 조합으로 만들면 122만 x 40이므로
4880만여개의 수 많은 중복조합이 생성 됩니다.
이런 중복을 방지하기 위해서 맨 처음 5수로 조합을 사용하는 것입니다.
다.814만조합을 5000개씩 분할하면서, 5수조합 122만여개는 전부 적용되어 야 합니다.
사용자가 구하는 조합 개수를 넘치거나 부족해서는 안 됩니다.
즉, 사용자가 20중복 조합을 구한다면
5000개로 분할된 파일에는 오직 20중복만 있어야 합니다.
또. 10중복조합을 구한다면
5000개로 분할된 파일에는 오직 10중복만 있어야 합니다.
라.814만 조합의 맨 뒤에 있는 숫자조합을 불러와
붙여 넣기를 하면 됩니다.
6.그리고 위 중복조합이 정확하게 중복되었는가를 검증해야 합니다.
중복조합이 부족하거나 넘치면 수정할 수 있도록,
5수 중복조합의 넘치거나 부족한 조합은 보이도록 해 주시면 됩니다.
확장자는 USE입니다.
제작 가능하실까요?
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기