第30652题 单选题
下列关于正整数n的所有正因数枚举的实现,正确且时间复杂度最优的是?

假设使用Python语法实现,math库已正确导入,要求枚举结果无重复、无遗漏。

A
def get_factors(n):
    res = []
    for i in range(1, int(math.sqrt(n)) + 1):
        if n % i == 0:
            res.append(i)
            if i != n // i:
                res.append(n//i)
    return res
B
def get_factors(n):
    res = []
    for i in range(1, int(math.sqrt(n)) + 1):
        if n % i == 0:
            res.append(i)
            res.append(n//i)
    return res
C
def get_factors(n):
    res = []
    for i in range(1, n//2 + 1):
        if n % i == 0:
            res.append(i)
    return res
D
def get_factors(n):
    res = []
    for i in range(1, int(math.sqrt(n)) + 1):
        if n % i == 0:
            res.append(n//i)
    return res
程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析