酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

Python实现找出正整数n的所有正约数

### 🔍 思路分析 要找出一个正整数 `n` 的所有正约数,可以从 1 开始遍历到 `n`,判断每个数是否能整除 `n`,如果能整除,则该数是 `n` 的正约数。 ### 💻 代码实现 以下是使用 Python 实现找出 `n` 的所有正约数的代码: ```python def find_divisors(n): divisors = [] # 遍历从 1 到 n 的所有数 for i in range(1, n + 1): # 判断 i 是否能整除 n if n % i == 0: # 如果能整除,将 i 添加到约数列表中 divisors.append(i) return divisors # 测试代码 n = 12 result = find_divisors(n) print(f"{n} 的所有正约数为: {result}") ``` ### 📝 代码解释 - `find_divisors` 函数接受一个正整数 `n` 作为参数。 - 使用 `for` 循环遍历从 1 到 `n` 的所有数。 - 对于每个数 `i`,使用取模运算符 `%` 判断 `n` 是否能被 `i` 整除。 - 如果能整除,则将 `i` 添加到 `divisors` 列表中。 - 最后返回 `divisors` 列表。 ### ⚙️ 复杂度分析 - **时间复杂度**:$O(n)$,其中 `n` 是输入的正整数。需要遍历从 1 到 `n` 的所有数。 - **空间复杂度**:$O(k)$,其中 `k` 是 `n` 的正约数的个数。最坏情况下,`k` 等于 `n`。 ######[AI问答 | 432点数解答 | 2026-07-22 11:33:50]

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