酷代码 AI
菜单
服务商

读入一个正整数,进行素因子分解 𝑛 ( 2 <= 𝑛 <= 10 9 ) 样例输入 复制 100 样例输出 复制 100=2*2*5*5

```python n = int(input()) original_n = n factors = [] # 处理因子2 while n % 2 == 0: factors.append(2) n //= 2 # 处理奇数因子 p = 3 while p * p <= n: while n % p == 0: factors.append(p) n //= p p += 2 # 处理剩余的质数 if n > 1: factors.append(n) # 输出结果 if factors: result = f"{original_n}=" + "*".join(map(str, factors)) else: result = f"{original_n}={original_n}" print(result) ``` 代码说明: 1. 读取输入的正整数 `n`,保存原始值 `original_n` 用于输出 2. 创建列表 `factors` 存储所有质因子 3. 先处理因子2(唯一的偶质数) 4. 从3开始处理奇数因子,只需检查到 `sqrt(n)` 5. 如果最后 `n > 1`,说明 `n` 本身是质数 6. 格式化输出结果,用 `*` 连接所有质因子 时间复杂度: O(√n) 空间复杂度: O(log n) [2026-01-11 17:44:13 | AI问答 | 278点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多