C++实现找出满足条件的数及开发建议
### 🌐 思路分析 本题需要从给定的 `n` 个小于 1000 的数中找出是 8 的倍数且不含数字 8 的数。我们可以通过遍历每个数,判断它是否满足这两个条件,若满足则将其输出。 ### 💻 代码实现 ```cpp #include <iostream> using namespace std; // 判断一个数是否是 8 的倍数且不含数字 8 bool isLiked(int num) { if (num % 8 != 0) return false; while (num > 0) { if (num % 10 == 8) return false; num /= 10; } return true; } int main() { int n; cin >> n; int nums[100]; for (int i = 0; i < n; i++) { cin >> nums[i]; } bool first = true; for (int i = 0; i < n; i++) { if (isLiked(nums[i])) { if (!first) { cout << " "; } cout << nums[i]; first = false; } } cout << endl; return 0; } ``` ### 📋 代码解释 1. **`isLiked` 函数**: - 该函数用于判断一个数是否是 8 的倍数且不含数字 8。 - 首先检查该数是否是 8 的倍数,若不是则直接返回 `false`。 - 然后通过循环取该数的每一位,若某一位是 8 则返回 `false`,否则返回 `true`。 2. **`main` 函数**: - 读取输入的 `n`,表示数的个数。 - 读取 `n` 个整数并存入数组 `nums` 中。 - 遍历数组,调用 `isLiked` 函数判断每个数是否满足条件,若满足则输出该数,注意相邻数字之间用空格隔开。 ### ⚙️ 复杂度分析 - **时间复杂度**:$O(n * log_{10}m)$,其中 $n$ 是数的个数,$m$ 是数的大小。 - **空间复杂度**:$O(n)$,主要用于存储输入的数。 ### 💡 开发建议 - **代码复用**:将判断条件封装成函数,提高代码的复用性和可维护性。 - **边界检查**:在实际开发中,应添加对输入的合法性检查,如 `n` 的范围等。 - **错误处理**:对于输入异常的情况,如输入非整数等,应进行相应的错误处理。 ######[AI写代码神器 | 658点数解答 | 2026-03-14 16:36:17]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)339
- C++ 实现:根据给定正整数构造 3×3 方阵并计算满足条件的方案数(阿里通义 | 875点数解答 | 2024-11-13 16:38:24)245
- C++实现:低复杂度求解 3×3 方阵构造方案数(阿里通义 | 708点数解答 | 2024-11-13 16:45:15)279
- Python 高效解决 U 王国社区端午节粽子分配数量计算问题(DeepSeek | 218点数解答 | 2025-05-31 18:33:52)194
- C++ 实现:根据家庭人数精准计算 U 王国社区粽子分配总数(DeepSeek | 250点数解答 | 2025-05-31 18:36:11)164
- 幼儿园小朋友学号奇偶分类:代码实现与详细解释(字节豆包 | 406点数解答 | 2025-11-26 19:39:05)57
- 策略游戏大揭秘:小 L 与小 Q 最优策略下每轮得分计算全解析(字节豆包 | 676点数解答 | 2025-12-12 18:49:42)58
- Python代码:简化网友国度货币系统,求解最小货币种数(字节豆包 | 529点数解答 | 2025-12-13 10:29:25)45
- 数轴旅行:从原点出发,能否到达目标位置?(字节豆包 | 225点数解答 | 2026-01-23 19:51:03)43
- Python 实现:计算特殊规则矩阵行列式并对 109+7 取模(字节豆包 | 672点数解答 | 2026-02-05 20:46:07)39
- C++实现计算字符矩阵中十字图形个数(字节豆包 | 333点数解答 | 2026-03-14 19:46:38)6
- C++实现矩阵中十字图形个数的计算(字节豆包 | 847点数解答 | 2026-03-14 20:19:15)6