해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
아기 바다코끼리 Fangy는 수학을 매우 좋아한다. 그래서 심심할 때면 어떤 수에 몇 가지 연산을 수행하며 논다.
Fangy는 어떤 양의 정수 x를 골라 그 수를 일로 만들고 싶어 한다. x가 1과 같지 않은 동안 Fangy는 다음 행동을 반복한다. x가 홀수이면 1을 더하고, 그렇지 않으면 x를 2로 나눈다. Fangy는 임의의 양의 정수에 대해 이 과정이 유한한 시간 안에 끝난다는 것을 알고 있다.
Fangy가 수 x를 일로 만들려면 몇 번의 행동을 수행해야 하는가?
첫째 줄에 이진법으로 표현된 양의 정수 x가 주어진다. x의 첫 자릿수는 영이 아니며, 자릿수는 106개를 초과하지 않는다.
필요한 행동 횟수를 출력한다.
1
0
101110
8
1001001
12
세 번째 예제를 살펴보자. 수 101110은 짝수이므로 2로 나누어야 한다. 나눈 뒤 Fangy는 홀수 10111을 얻고 여기에 일을 더한다. 수 11000은 연속해서 세 번 2로 나누면 수 11을 얻을 수 있다. 이제 남은 일은 수를 일만큼 증가시키고(그러면 100을 얻는다), 그다음 연속해서 두 번 2로 나누는 것이다. 그 결과 1을 얻는다.