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

下面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()