시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 512 MB 516 231 203 49.392%

문제

태영이의 취미는 2의 제곱수를 계산하는 것이다.

태영이는 264 = 18,446,744,073,709,551,616 이라는 것을 알고 있고 직접 20부터 2씩 곱해서 264을 구할 것이다.

하지만 태영이는 2씩 곱하는 와중에 1을 빼버리는 실수를 딱 한 번 해버리고 말았다. (실수는 단 한 번만 하며, 그 후에는 2로 곱하는 계산을 정확하게 수행한다.)

예를 들어, 21 = 2로 계산을 잘 하다가 22 = 3으로 계산해버리는 어이없는 실수를 해버리는 것이다.

그렇게 된다면 2= 6 , 24 = 12 ... 로 계산하여 점점 오차가 커진다.

태영이가 구한 264N이 주어졌을 때, 태영이가 처음으로 실수한 구간을 찾아주자.

입력

양의 정수 N이 주어진다.

N은 태영이가 264를 계산했을 때 나올 수 있는 수이다.

출력

태영이가 처음으로 실수한 구간을 찾아주자.

2K = 2K-1로 계산해버렸을 때의 K를 출력하면 된다.

제한

  • 2 ≤ N ≤ 18,446,744,073,709,551,615 = 264 - 1

예제 입력 1

18446744073709551615

예제 출력 1

64

263 = 9,223,372,036,854,775,808 까지는 계산을 잘 하다가

264를 264-1인 18,446,744,073,709,551,615로 계산을 잘못해버렸다. 

출처

University > 인하대학교 > 2020 IGRUS Newbie Programming Contest C번