当前位置: 面试刷题>> 查找最大因子 (经典算法题500道)


### 题目描述补充 题目:查找一个给定正整数n的最大因子(不包括n本身)。要求编写一个函数来实现这个功能,该函数接收一个正整数n作为输入,并返回n的最大因子(即小于n且能整除n的最大正整数)。 ### 示例 假设输入为 `n = 12`,则输出应为 `6`,因为6是12的最大因子(不包括12本身)。 ### PHP 示例代码 ```php function findMaxFactor($n) { for ($i = $n - 1; $i > 1; $i--) { if ($n % $i == 0) { return $i; } } return 1; // 理论上不会执行到这里,除非n小于等于1 } // 示例 echo findMaxFactor(12); // 输出: 6 ``` ### Python 示例代码 ```python def find_max_factor(n): for i in range(n - 1, 1, -1): if n % i == 0: return i return 1 # 理论上不会执行到这里 # 示例 print(find_max_factor(12)) # 输出: 6 ``` ### JavaScript 示例代码 ```javascript function findMaxFactor(n) { for (let i = n - 1; i > 1; i--) { if (n % i === 0) { return i; } } return 1; // 理论上不会执行到这里 } // 示例 console.log(findMaxFactor(12)); // 输出: 6 ``` ### 注意事项 - 在这些示例中,我们采用了从`n-1`开始递减到2的循环来查找最大因子,这种方法简单直接但可能不是最高效的。对于大数,有更高效的算法(如试除法结合数学性质)可以优化查找过程。 - 码小课网站中有更多相关内容分享给大家学习,包括但不限于算法优化、数据结构、编程语言进阶等,欢迎访问码小课网站深入学习。
推荐面试题