[BOJ 13756] 완벽한 구사과의 집합
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
5
Time limit:
2.0s
Memory limit:
512M
Problem types
Allowed languages
구사과는 정수론을 공부하고 있다.</p>
음이 아닌 정수로 이루어져 있는 비어있지 않은 집합 S는 다음과 같은 조건을 만족할 때, 완벽한 집합이라고 한다.
임의의 두 정수 a와 b가 a, b ∈ S 일 때, (a와 b는 같아도 된다) (a xor b) ∈ S 이어야 한다.
k가 주어졌을 때, k보다 크지 않은 정수로 이루어진 완벽한 집합의 개수를 구하는 프로그램을 작성하시오.
입력 형식
첫째 줄에 정수 k (0 ≤ k ≤ 109)가 주어진다.
출력 형식
첫째 줄에 완벽한 집합의 개수를 109+7로 나눈 나머지를 출력한다.
예제 입력 1
1
예제 출력 1
2
예제 입력 2
2
예제 출력 2
3
예제 입력 3
3
예제 출력 3
5
예제 입력 4
4
예제 출력 4
6
힌트
예제 1의 경우에 정답은 {0}, {0, 1}이 있다.</p>
예제 4의 경우에 정답은 {0}, {0, 1}, {0, 2}, {0, 3}, {0, 4}, {0, 1, 2, 3}이 있다.
Comments