```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的质因子,确保所有质因子都被正确记录。 [2024-11-20 15:38:36 | AI写代码神器 | 282点数解答]