这是一个简单的二进制问题,只有两种操作:
+1:二进制加1,当某一位为2时,向前进位。例如:1011变为1100。
/2:二进制除2,舍弃末位(小数点后不计)。例如:1010变为101。
给出一个长度为n的二进制,按如下规则操作,它最终将变为1:
若为奇数,则+1;若为偶数则/2。输出变为1所需要的步数。
一行,一个n位的二进制。
对于100%的数据:
1\le n \le 10^6。
数据保证最高位为1。
一个整数,表示所需步数。
1
0
101010
9
110011
9
时间限制 | 100 毫秒 |
内存限制 | 128 MB |