C++实现区间内个位数为3的数字求和及倍数判断
## 🧮 题目解析与C++实现思路 题目要求计算区间 [a, b] 内所有个位数为 3 的整数之和,并判断该和是否为 3 的倍数。个位数为 3 的数形如 3, 13, 23, 33, ... 即 `n % 10 == 3`。 ## 💻 C++ 代码实现 ```cpp #include <iostream> using namespace std; int main() { int a, b; cin >> a >> b; long long sum = 0; // 使用 long long 防止溢出 // 遍历区间内所有整数 for (int i = a; i <= b; ++i) { // 判断个位数是否为 3 if (i % 10 == 3) { sum += i; } } // 输出第一行:数字和 cout << sum << endl; // 输出第二行:判断是否为 3 的倍数 if (sum % 3 == 0) { cout << "YES" << endl; } else { cout << "NO" << endl; } return 0; } ``` ## 🔍 代码说明 - **遍历与判断**:使用 `for` 循环从 `a` 到 `b`,对每个数取模 `% 10` 判断个位是否为 3。 - **累加求和**:将符合条件的数字累加到 `sum` 中,使用 `long long` 避免当区间较大时 `int` 溢出。 - **倍数判断**:累加完成后,用 `sum % 3 == 0` 判断是否为 3 的倍数,并按要求输出 `YES` 或 `NO`。 ## ⚠️ 边界情况注意 - 输入中 `a` 可能大于 `b`,此时循环不会执行,`sum` 为 0,0 是 3 的倍数,输出 `YES`。 - 区间内可能没有个位数为 3 的数字,此时 `sum` 为 0,同理输出 `YES`。 ## ✅ 示例验证 输入: ``` 10 35 ``` 流程: - 个位数为 3 的数字:13, 23, 33 - 和 = 13 + 23 + 33 = 69 - 69 % 3 == 0,输出 `YES` 输出: ``` 69 YES ``` ######[AI问答 | 564点数解答 | 2026-08-09 12:25:15]
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)155
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)171
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)558
- C++ 判断正整数倍数:模运算、输出格式与边界处理(DeepSeek | 1916点数解答 | 2026-05-22 20:38:46)98
- Python 实现:四位数正整数各位分解与求和及注意要点(字节豆包 | 306点数解答 | 2025-07-25 23:54:48)200
- Python实现:输入四位数正整数分解并求各位数字之和(DeepSeek | 299点数解答 | 2025-07-25 23:55:30)169
- Python:用正则表达式从含多种字符的字符串中提取英文、数字和中文单词(GPT | 522点数解答 | 2024-05-31 19:05:27)408
- Python:用正则表达式结合 split 思路提取一行字符串中的英文、数字和中文单词 (GPT | 399点数解答 | 2024-05-31 19:07:31)421
- 繁体字编码代码修改:人物名字合法性验证函数转简体版(字节豆包 | 325点数解答 | 2024-10-21 18:57:01)387
- 计算区间 n 到 m 中数字 x 出现次数的 Python 实现与详解(字节豆包 | 289点数解答 | 2025-12-07 17:14:59)188
- Python 实现:计算区间 n 到 m 中数字 x 出现的次数(字节豆包 | 322点数解答 | 2025-12-13 21:37:08)178
- Python实现数字是否为3的倍数判断及输出(字节豆包 | 508点数解答 | 2026-05-31 14:10:46)91