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

Python:高效判断素数与质因子分解的实现及逻辑解析

```python def is_prime(num): # 判断是否为素数 if num <= 1: return False for i in range(2, int(num**0.5) + 1): if num % i == 0: return False return True def prime_factors(num): # 获取所有质因子 factors = [] divisor = 2 while divisor * divisor <= num: while (num % divisor) == 0: factors.append(divisor) num //= divisor divisor += 1 if num > 1: factors.append(num) return factors n = int(input()) if is_prime(n): print(f"{n} 是素数") else: factors = prime_factors(n) factor_str = ' * '.join(map(str, factors)) print(f"{factor_str} = {n}") ``` ### 需要注意的逻辑点: 1. 素数检查时,只需检查到平方根即可,这样可以提高效率。 2. 质因子分解时,从最小的质数2开始尝试除法,确保得到的都是质因子。 3. 最后一个条件 `if num > 1` 是为了处理剩余的大于1的质因子,确保所有质因子都被正确记录。 ######[AI写代码神器 | 282点数解答 | 2024-11-20 15:38:36]

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