CF465A inc ARG

题目描述

Sergey 正在测试下一代处理器。该处理器并不使用字节,而是操作包含 $n$ 位的存储单元。这些位从 $1$ 到 $n$ 编号。一个整数在存储单元中的存储方式如下:最低有效位存储在第一个存储位,次低有效位存储在第二个存储位,以此类推,最高有效位存储在第 $n$ 个存储位。 现在 Sergey 想要测试如下指令:“将存储单元中的值加 $1$”。执行该操作后,存储单元内的整数应增加 $1$;如果结果中的最高位不能完全存入存储单元,则这些超出的高位应被舍弃。 Sergey 已经向存储单元写入了特定的位值,现在他准备将该值加 $1$。在这次操作后,存储单元中有多少个位的状态会发生改变?

输入格式

第一行包含一个整数 $n$($1 \leq n \leq 100$),表示存储单元的位数。 第二行包含一个由 $n$ 个字符组成的字符串,表示存储单元的初始状态。第一个字符表示第 $1$ 个(最低有效位)的状态,第二个字符表示第 $2$ 个次低有效位的状态,依此类推,最后一个字符表示最高有效位的状态。

输出格式

输出一个整数,表示加 $1$ 操作后状态发生变化的位数。

说明/提示

在第一个样例中,存储单元最终变为 $0010$;在第二个样例中,最终变为 $0000$。 由 ChatGPT 5 翻译