이상한 나누기

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

요약
길이가 천만 자리까지인 이진수가 주어질 때, 이상한 나누기 규칙으로 1이 될 때까지 홀수 연산이 몇 번 일어나는지 센다.
난이도

보통10점 중 6점

유형
비트 연산, 수학, 문자열, 구현
정답자
아직 제출이 없습니다

문제

22 이상의 양의 정수 NN에 대해, 이상한 나누기를 다음과 같이 정의한다.

  •  NN이 홀수일 때, N=(N+1)/2N=(N+1)/2 (이를 홀수 연산이라고 정의한다.)
  •  NN이 짝수일 때, N=N/2N=N/2 (이를 짝수 연산이라고 정의한다.)

이진수로 표현된 양의 정수 XX가 11이 될 때까지 이상한 나누기를 한다고 했을 때, 양의 정수 XX에 홀수 연산을 하게 되는 횟수를 구해보자.

입력

첫째 줄에 이진수로 표현된 양의 정수 XX의 자릿수 NN이 주어진다. (2≤N≤10,000,000)(2 \le N \le 10\\,000\\,000) 

둘째 줄에 이진수로 표현된 양의 정수 XX가 주어진다. 00으로 시작하는 입력은 주어지지 않는다.

출력

첫째 줄에 이진수로 표현된 양의 정수 XX가 11이 될 때까지 이상한 나누기를 한다고 했을 때, 양의 정수 XX에 홀수 연산을 하게 되는 횟수를 출력한다.

예제1

  1. 예제 1

    입력
    3
    110
    
    예상 출력
    1