判断个位数为3、5、7的数字个数:算法实现与开发要点
好的,我们先来一步步分析这个问题。 ### 🎯 问题理解 - 桃子喜欢的数字:**个位数字是 3、5 或 7**。 - 输入:三个整数 `a, b, c`。 - 输出:这三个数中,满足上述条件的数字的**个数**。 ### 📝 思路 要判断一个数字的个位数,可以用 **取模运算** `% 10`。 - 个位数 = `数字 % 10` - 判断个位数是否等于 `3` 或 `5` 或 `7`。 ### 🧮 算法步骤 1. 读入三个整数 `a, b, c`。 2. 初始化计数器 `count = 0`。 3. 对每个数字 `num`: - 计算 `digit = num % 10`。 - 如果 `digit` 是 `3`、`5` 或 `7`,则 `count` 加 1。 4. 输出 `count`。 ### 💻 代码实现(Python) ```python # 读取输入 a, b, c = map(int, input().split()) count = 0 for num in (a, b, c): last_digit = num % 10 if last_digit in (3, 5, 7): count += 1 print(count) ``` ### 🧪 示例运行 输入: ``` 12 25 37 ``` - 12 个位是 2 → 不喜欢 - 25 个位是 5 → 喜欢 - 37 个位是 7 → 喜欢 输出: ``` 2 ``` ### ⚙️ 其他语言示例(C++) ```cpp #include <iostream> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; int count = 0; int nums[] = {a, b, c}; for (int num : nums) { int lastDigit = num % 10; if (lastDigit == 3 || lastDigit == 5 || lastDigit == 7) { count++; } } cout << count << endl; return 0; } ``` ### 📌 开发建议 1. **注意负数**:题目未明确数字范围,如果包含负数,`%` 运算在不同语言中结果可能不同(Python 中 `-12 % 10` 是 8,C++/Java 中可能是 -2)。但通常这类竞赛题输入是非负整数。若考虑负数,需先取绝对值或调整判断逻辑。 2. **扩展性**:如果喜欢的个位数列表会变化,可以定义集合 `{3, 5, 7}` 来判断,便于维护。 3. **输入格式**:确保按题目要求的一行输入、空格分隔。 ### 🛡️ 进阶与陷阱规避 - **大数处理**:个位数判断只和最后一位有关,即使数字很大,`% 10` 也是 O(1) 操作,不用担心性能。 - **多语言差异**:在 Python 中 `-17 % 10` 得到 3,而在 C/C++/Java 中 `-17 % 10` 可能是 -7。如果题目可能含负数,应在读入后取绝对值 `abs(num) % 10`,或明确规则。 - **边界测试**:测试 0、个位是 0 的数字、负数等边缘情况。 ### 🔗 相关资源 - [Python 运算符](https://docs.python.org/3/reference/expressions.html#binary-arithmetic-operations) - [C++ 取模运算](https://en.cppreference.com/w/cpp/language/operator_arithmetic) ######[AI写代码神器 | 852点数解答 | 2026-04-10 19:38:42]
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)49
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)61
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)355
- 工程师必知:软件系统用户文档编写九大要点揭秘(百度文心 | 350点数解答 | 2023-11-09 18:23:53)200
- Python 实现:四位数正整数各位分解与求和及注意要点(字节豆包 | 306点数解答 | 2025-07-25 23:54:48)171
- Python实现:输入四位数正整数分解并求各位数字之和(DeepSeek | 299点数解答 | 2025-07-25 23:55:30)136
- Python:用正则表达式从含多种字符的字符串中提取英文、数字和中文单词(GPT | 522点数解答 | 2024-05-31 19:05:27)325
- Python:用正则表达式结合 split 思路提取一行字符串中的英文、数字和中文单词 (GPT | 399点数解答 | 2024-05-31 19:07:31)319
- 繁体字编码代码修改:人物名字合法性验证函数转简体版(字节豆包 | 325点数解答 | 2024-10-21 18:57:01)294
- 计算区间 n 到 m 中数字 x 出现次数的 Python 实现与详解(字节豆包 | 289点数解答 | 2025-12-07 17:14:59)86
- Python 实现:计算区间 n 到 m 中数字 x 出现的次数(字节豆包 | 322点数解答 | 2025-12-13 21:37:08)85
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)327