# 멱집합 구하는 문제 문제) S가 n개의 원소로 된 집합일 때 S의 멱집합(powerset)은 모든 가능한 S의 부분집합이다. 즉, S = { a, b, c }이면 powerset(S) = { { }, { a }, { b }, { c }, { a, b }, { a, c }, { b, c }, { a, b, c } } 이다. powerset(S)를 구하는 순환 함수를 작성하라. # 풀이 비트 연산을 이용하는 문제다. 순환으로 구현해야 하는 만큼 순환별 규칙을 생각할 필요가 있었고, 값을 하나 증가시키는 걸 그 규칙으로 삼았다. 하나의 순환 안에서의 반복문이 비트연산의 핵심인데, 처음엔 이해가 어려워도 하나하나 손으로 써가면서 확인하면 그 규칙이 눈에 들어올 것이다. /********************..
# 비둘기집 원칙 문제 문제) 비둘기집 원칙이란 함수 f가 n개의 상이한 입력에 대해 n개보다 작은 상이한 출력이 나온다면 $a\neq$ $b$ 이고 $f(a) = f(b)$인 두 개의 입력 a, b가 존재한다는 것이다. 이와 같이 입력값이 상이하면서 함수값이 같은 a,b를 찾는 C프로그램을 작성하라. # 풀이 이 문제는 한 가지 함수를 미리 정해두고 프로그램을 작성한다. 그 후 함수 내에 같은 y값이 나오는 x값들이 있는지 확인하는 프로그램을 작성하면 된다. /************************************************* ** 비둘기집 원칙 프로그램 *************************************************/ #include #include //..
- Total
- Today
- Yesterday