当前位置: 面试刷题>> 因式分解 (经典算法题500道)


### 题目描述补充 **题目**: 编写一个程序,实现一个简单的因式分解算法。该程序将接收一个正整数作为输入,并输出该数的所有质因数分解结果。如果输入的数是一个质数,则直接输出该数本身和“是质数”的说明。如果输入的数小于2,则输出错误提示。 ### 示例代码 以下是使用PHP、Python和JavaScript编写的示例代码,这些代码均实现了上述要求。 #### PHP 示例 ```php 1) { $factors[] = $n; } if (count($factors) == 1) { return $factors[0] . " 是质数"; } else { return "因式分解结果: " . implode(' * ', $factors); } } // 测试 echo factorize(100); // 输出: 因式分解结果: 2 * 2 * 5 * 5 echo "\n"; echo factorize(7); // 输出: 7 是质数 ?> ``` #### Python 示例 ```python def factorize(n): if n < 2: return "错误:请输入一个大于或等于2的整数。" factors = [] for i in range(2, int(n**0.5) + 1): while n % i == 0: factors.append(str(i)) n = n // i if n > 1: factors.append(str(n)) if len(factors) == 1: return factors[0] + " 是质数" else: return "因式分解结果: " + ' * '.join(factors) # 测试 print(factorize(100)) # 输出: 因式分解结果: 2 * 2 * 5 * 5 print(factorize(7)) # 输出: 7 是质数 ``` #### JavaScript 示例 ```javascript function factorize(n) { if (n < 2) { return "错误:请输入一个大于或等于2的整数。"; } let factors = []; for (let i = 2; i <= Math.sqrt(n); i++) { while (n % i === 0) { factors.push(i); n = n / i; } } if (n > 1) { factors.push(n); } if (factors.length === 1) { return `${factors[0]} 是质数`; } else { return `因式分解结果: ${factors.join(' * ')}`; } } // 测试 console.log(factorize(100)); // 输出: 因式分解结果: 2 * 2 * 5 * 5 console.log(factorize(7)); // 输出: 7 是质数 ``` **码小课网站中有更多相关内容分享给大家学习**,希望这些示例代码和描述能够帮助你理解并实现因式分解的算法。
推荐面试题