不用函数实现求 1 到 n 范围内数字之和为 13 的整数个数
```cpp #include <iostream> int main() { int n; std::cin >> n; int count = 0; for (int i = 1; i <= n; i++) { int num = i; int sum = 0; while (num) { sum += num % 10; num /= 10; } if (sum == 13) { count++; } } std::cout << count; return 0; } ``` ### 代码解释 - **输入部分**:使用 `std::cin` 读取一个整数 `n`,这个 `n` 代表了要查找符合条件数字的范围上限。 - **遍历范围**:通过 `for` 循环,从 1 开始,逐个检查到 `n` 的每一个整数。 - **计算数字和**:对于每一个整数 `i`,将其赋值给 `num`。利用 `while` 循环,不断取出 `num` 的最后一位数字(通过 `num % 10`)并累加到 `sum` 中,然后将 `num` 除以 10 以去掉最后一位数字,直到 `num` 变为 0,此时就得到了该整数各位数字的和。 - **判断与计数**:当 `sum` 的值等于 13 时,说明该整数符合条件,将计数器 `count` 加 1。 - **输出结果**:最终输出 `count` 的值,也就是 1 到 `n` 范围内各位数字之和为 13 的整数的个数。 ### 复杂度分析 - **时间复杂度**:$O(n * log_{10}n)$。因为需要遍历 `n` 个整数,对于每个整数,计算其各位数字之和的时间复杂度为 $O(log_{10}n)$。 - **空间复杂度**:$O(1)$。只使用了常数级的额外变量,不随输入规模 `n` 的变化而变化。 ######[AI问答 | 493点数解答 | 2026-04-12 15:55:34]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)355
- C 语言实现链表操作:创建、输出、删除及插入功能详解(字节豆包 | 534点数解答 | 2024-12-09 21:33:48)349
- C语言实现链表创建、输出、删除与插入操作的完整代码及注意要点(字节豆包 | 609点数解答 | 2024-12-18 12:18:21)369
- Python 实现字母与 ASCII 码的灵活转换程序(字节豆包 | 295点数解答 | 2025-11-02 16:58:48)89
- 判断超级幸运数:满足“纯4/7数位”或“4/7总个数为4或7”的整数计数(阿里通义 | 965点数解答 | 2026-03-13 12:15:06)32
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)49
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)61
- 扑克牌比大小游戏结果判断代码实现(字节豆包 | 94点数解答 | 2026-03-29 21:48:15)10
- C++实现扑克牌比大小游戏判断(字节豆包 | 371点数解答 | 2026-03-29 21:49:05)11
- 计算区间 n 到 m 中数字 x 出现次数的 Python 实现与详解(字节豆包 | 289点数解答 | 2025-12-07 17:14:59)86
- Python 实现:计算区间 n 到 m 中数字 x 出现的次数(字节豆包 | 322点数解答 | 2025-12-13 21:37:08)85
- Python 实现:带边界处理与验证的任意基数数字转换递归程序(字节豆包 | 198点数解答 | 2024-11-21 14:20:25)442