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

cj679353 单选题 共 个子题

假设使用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
正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧