C++ 实现统计 1 到 n 中数字 1 个数:开发中需小心的三处陷阱
```cpp #include <iostream> using namespace std; // 此函数用于计算一个数中数字1的个数 int countOnesInNumber(int num) { int count = 0; while (num > 0) { // 检查当前数字的最后一位是否为1 if (num % 10 == 1) { count++; } // 去掉最后一位数字 num /= 10; } return count; } // 此函数用于计算从1到n中所有数字里数字1的总个数 int countOnesFromOneToN(int n) { int totalOnes = 0; for (int i = 1; i <= n; i++) { // 累加每个数字中1的个数 totalOnes += countOnesInNumber(i); } return totalOnes; } int main() { int n; // 读取输入的正整数n cin >> n; // 调用函数计算从1到n中数字1的总个数 int result = countOnesFromOneToN(n); // 输出结果 cout << result << endl; return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 在 `countOnesInNumber` 函数里,要确保循环结束条件正确,避免出现死循环。 2. 注意输入的 `n` 的范围,在本题中,虽然已经限定了范围,但在其他场景下可能需要对输入的有效性进行检查。 3. 当计算从1到 `n` 每个数中1的个数时,要保证循环的起始和结束条件准确,避免遗漏或重复计算。 ######[AI写代码神器 | 413点数解答 | 2026-01-26 17:56:10]
- 星际编码大赛终极对决:机械星AI与异星人激战“逆序对”统计难题(字节豆包 | 509点数解答 | 2025-04-19 17:33:00)278
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)36
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)41
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- Python:用正则表达式从含多种字符的字符串中提取英文、数字和中文单词(GPT | 522点数解答 | 2024-05-31 19:05:27)313
- Python:用正则表达式结合 split 思路提取一行字符串中的英文、数字和中文单词 (GPT | 399点数解答 | 2024-05-31 19:07:31)310
- 繁体字编码代码修改:人物名字合法性验证函数转简体版(字节豆包 | 325点数解答 | 2024-10-21 18:57:01)285
- 计算区间 n 到 m 中数字 x 出现次数的 Python 实现与详解(字节豆包 | 289点数解答 | 2025-12-07 17:14:59)71
- Python 实现:计算区间 n 到 m 中数字 x 出现的次数(字节豆包 | 322点数解答 | 2025-12-13 21:37:08)74
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)310
- C++ 实现游戏赢家判断:巧妙找出满足和条件的最大数 (DeepSeek | 506点数解答 | 2025-06-20 16:18:09)113
- C++实现戴夫后院抵御僵尸的植物选择策略(DeepSeek | 773点数解答 | 2026-01-19 19:20:57)44