종결코돈 [1023395] · MS 2020 · 쪽지

2023-02-13 19:25:27
조회수 776

수학 질문입니더.................

게시글 주소: https://orbi.kr/00062022349

{1,2,3,4,5,6,7,8,9,10} 의 부분집합 중 이웃하는 숫자가 한쌍만 있는 부분집합의 개수는?


어떻게 구할까요


덕코마니드려유

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.

  • 류하온 · 881941 · 23/02/13 19:31 · MS 2019

    계산산산

  • Moomin158 · 1197202 · 23/02/19 13:39 · MS 2022

    다 세보면 됩니다
    이웃하는 숫자가 한 쌍만 있는 부분집합이란, {i, i+1} 형태의 숫자 쌍이 부분집합에 포함되는 경우를 말합니다. 즉, 이웃하는 숫자 쌍이 하나만 있는 부분집합입니다.

    이 문제는 각 숫자 쌍에 대해 포함시키거나 포함시키지 않는 두 가지 선택이 있습니다. 따라서, 총 9개의 숫자 쌍이 있으므로 가능한 부분집합의 개수는 2의 9승인 512개입니다.

    그러나 모든 부분집합이 이웃하는 숫자가 한 쌍만 있는 것은 아닙니다. 이러한 부분집합을 찾기 위해 가능한 모든 부분집합을 탐색하면서, 조건을 만족하는 부분집합의 개수를 세어보면 됩니다.

    Python으로 구현한 코드는 다음과 같습니다.

    python
    Copy code
    count = 0
    for i in range(2**10):
    subset = set()
    for j in range(10):
    if (i & (1<<j)):
    subset.add(j+1)
    is_valid = False
    for j in range(1, 10):
    if j in subset and j+1 in subset:
    if is_valid:
    is_valid = False
    break
    else:
    is_valid = True
    if is_valid:
    count += 1

    print(count)
    위 코드를 실행하면, 이웃하는 숫자가 한 쌍만 있는 부분집합의 개수는 198개임을 알 수 있습니다.