专栏文章

B2154 数 1 的个数

B2154题解参与者 8已保存评论 7

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
7 条
当前快照
1 份
快照标识符
@mipazn5k
此快照首次捕获于
2025/12/03 09:03
3 个月前
此快照最后确认于
2025/12/03 09:03
3 个月前
查看原文
欢迎报名洛谷网校,期待和大家一起进步!
本题考察循环嵌套。
首先控制外层循环变量从 11nn,代表我们正在写的当前这个数。对于固定的 ii,我们用另一个变量 xx 来保存它。否则,如果对着当前的 ii 直接做数位拆分,会直接死循环。我们的操作应当为:
  • 每次取 x % 10,就能得到 xx 的末尾那一位数字。
  • 如果这位数字是 11,就把计数器 cnt 加 11;否则不加。
  • 再用 x = x / 10 去掉这个末尾数位,继续看下一位。
直到 xx00 为止。参考代码:
CPP
for (int i = 1; i <= n; ++i) {
    int x = i;   // 用 x 临时保存当前的数字 i
    // 拆出 x 的每一位,检查是不是 1
    while (x > 0) {
        if (x % 10 == 1) 
            cnt++;  
        x = x / 10; // 去掉末尾,继续看下一位
    }
}

评论

7 条评论,欢迎与作者交流。

正在加载评论...