B2154 数 1 的个数
欢迎报名洛谷网校,期待和大家一起进步!
本题考察循环嵌套。
首先控制外层循环变量从
- 每次取
x % 10,就能得到x 的末尾那一位数字。 - 如果这位数字是
1 ,就把计数器 cnt 加1 ;否则不加。 - 再用
x = x / 10去掉这个末尾数位,继续看下一位。
直到
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; // 去掉末尾,继续看下一位
}
}