K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
假设n为大于1的正整数,需要完整输出n的所有不重复正因数,不考虑性能之外的其他限制。
从1遍历到n,依次判断每个数是否能整除n,该方法时间复杂度为O(n),是最优实现方案
从1遍历到√n,若i是n的因数,则同时记录i和n/i,无需额外判断,不会出现重复因数
从1遍历到√n,若i是n的因数则记录i,若i不等于n/i则额外记录n/i,该方案时间复杂度为O(√n),是高效实现
因数枚举的最优时间复杂度为O(logn),可以通过二分查找算法实现