酷代码 AI
菜单
服务商

判断个位数为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]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]