만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

파스칼의 삼각형

시간 제한2초메모리 제한1024 MB

요약
n이 20억까지 주어질 때 파스칼 삼각형의 n번째 행에서 홀수의 개수를 구한다.
난이도

쉬움10점 중 3점

유형
수학, 비트 연산, 정수론, 조합론
정답자
아직 제출이 없습니다

문제

파스칼의 삼각형은 다음과 같은 모양의 무한한 삼각형이다.

1
11
121
1331
14641
15101051
1615201561
172135352171
...........................

파스칼의 삼각형에서 행은 0부터 번호를 매기고, 각 행의 수도 0부터 번호를 매긴다. 0번째 행은 수 하나만 가지며 그 값은 1이고, 각 행은 이전 행보다 수를 하나 더 가진다. 각 행의 0번째 수와 마지막 수는 1이며, 나머지 수는 각각 이전 행에서 자기 위에 있는 두 수의 합이다.

따라서 ii번째 행은 i+1i + 1개의 수를 가진다. ii번째 행의 jj번째 원소를 ai,ja_{i,j}라고 하면 ai,j=ai−1,j−1+ai−1,ja_{i,j} = a_{i - 1,j - 1} + a_{i-1,j}가 성립한다. 이전 행에서 없는 원소(번호가 −1-1인 원소와 ii인 원소)를 0으로 두면 이 등식은 양 끝 원소에 대해서도 성립한다.

콜라는 파스칼의 삼각형 nn번째 행에 홀수가 몇 개 있는지 알고 싶어 한다. 삼각형을 그리기 시작했지만 곧 종이에 다 들어가지 않았다. 그래서 콜라는 컴퓨터로 이 일을 하기로 했다. 콜라를 도와주자.

입력

입력 파일에 수 nn이 주어진다. (0≤n≤2⋅1090 \le n \le 2 \cdot 10^9)

출력

출력 파일에 파스칼의 삼각형 nn번째 행에 있는 홀수의 개수를 출력한다.

예제3

  1. 예제 1

    입력
    0
    
    예상 출력
    1
    
  2. 예제 2

    입력
    5
    
    예상 출력
    4
    
  3. 예제 3

    입력
    7
    
    예상 출력
    8