随着中美在高科技领域的竞争,中国碰到了很多卡脖子工程,其中的“处理器”问题就是卡脖子工程之一,ZZ立志要攻克这个大问题。
ZZ正在测试下一代处理器。处理器由编号为1到n的、n位二进制数组成。二进制数采用以下存储规则:最低位存储在二进制数的第一个位中,下一位存储在第二个位中,依此类推,最高位存储在第 n 位中。 即最右边是最高位,最左边是最低位。
现在,zz想要测试以下指令:“将 二进制数的值加1”操作,zz想知道操作后二进制数有多少位将会改变?
第一行包含单个整数n(1≤n≤100) : 二进制数的位数。
第二行包含一个由n个字符组成的字符串 : 二进制数的初始状态。第一个字符表示二进制第一个位的状态。第二个字符表示第二个最低有效位,依此类推。最后一个字符表示最高有效位的状态。
输出二进制数中在我们向二进制数添加 1 后更改其状态的位数
输入样例1:
4
1100
输出样例1:
3
输入样例2:
4
1111
输出样例2:
4
注意
在第一个样本中,从左加到右加1。第一位的1+1=2,产生进位1,;第二位的1+进位1=2,产生进位;第三位的0+进位1=1,运算结束,共产生3次进位操作。
4
1100
3