下列关于Python素数判断函数isPrimeA和isPrimeB的时间复杂度说法正确的是?

fa327005 单选题 共 个子题

下面Python代码中的 isPrimeA() 和 isPrimeB() 都用于判断参数N是否为素数,请选择有关二者时间复杂度的正确说法。

def isPrimeA(N):
    if N < 2:
        return False
    for i in range(2, N // 2 + 1):
        if N % i == 0:
            return False
    return True

def isPrimeB(N):
    if N < 2:
        return False
    for i in range(2, int(N ** 0.5) + 1):
        if N % i == 0:
            return False
    return True
A

isPrimeA() 的最坏时间复杂度是O(N),isPrimeB() 的最坏时间复杂度是O(√N),isPrimeA()优于isPrimeB()

B

isPrimeA() 的最坏时间复杂度是O(N),isPrimeB() 的最坏时间复杂度是O(√N),isPrimeB()绝大多数情况下优于isPrimeA()

C

isPrimeA() 的最坏时间复杂度是O(√N),isPrimeB() 的最坏时间复杂度是O(N),isPrimeA()优于isPrimeB()

D

isPrimeA() 的最坏时间复杂度是O(logN),isPrimeB() 的最坏时间复杂度是O(N),isPrimeA()优于isPrimeB()

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