以下是使用 Python 语言实现该功能的代码: ```python # 读取输入的正整数 n n = int(input()) # 遍历 1 到 n 的所有整数 for i in range(1, n + 1): # 判断个位是否为 5 或者个位是否为 8 if i % 10 == 5 or i % 10 == 8: # 满足条件则输出该整数 print(i) ``` 代码解释 1. 读取输入:使用 `input()` 函数读取用户输入的一行字符串,再使用 `int()` 函数将其转换为整数 `n`。 2. 遍历范围:使用 `for` 循环遍历从 `1` 到 `n` 的所有整数。 3. 判断条件:对于每个整数 `i`,使用取模运算符 `%` 来获取其个位数字。如果个位数字为 `5` 或者为 `8`,则满足条件。 4. 输出结果:如果满足条件,则使用 `print()` 函数将该整数输出,由于 `print()` 函数默认会换行,所以每行输出一个整数。 额外需要注意的逻辑点 1. 输入合法性:虽然题目约定了 `1 < n ≤ 10000`,但代码没有对输入进行严格的合法性检查。可以添加一些输入验证逻辑,确保输入的 `n` 在合法范围内。 2. 边界情况:当 `n` 为 `1` 时,由于范围是 `1` 到 `n`,不会有满足条件的数输出,这是符合逻辑的。但在处理边界情况时,要确保代码的正确性。 3. 性能考虑:由于 `n` 的最大值为 `10000`,当前代码的时间复杂度为 $O(n)$,可以满足性能要求。在更复杂的场景下,要考虑算法的性能。 [2025-07-20 15:05:34 | AI写代码神器 | 439点数解答]