K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
以下描述针对正整数n的正因数枚举实现逻辑,不考虑n为0或负数的输入异常场景。
枚举因数的朴素实现必须遍历从1到n的所有整数才能得到全部因数,时间复杂度为O(n),不存在更优的实现方案
若采用优化枚举方案遍历到√n,当i能整除n时,若i≠n/i,可同时得到i和n/i两个因数,该方案时间复杂度为O(√n)
枚举因数的优化方案中,不需要对i = √n的情况做特殊处理,直接同时输出i和n/i即可不会出现重复
要得到n的所有质因数,和得到所有正因数的枚举逻辑完全一致,不需要额外筛选