查找第n个质数的时间复杂度

时间:2019-01-10 17:26:42

标签: c# algorithm time-complexity primes

如何为下面的代码找到时间复杂度

    if (nprime == 1) return 2;
        if (nprime == 2) return 3;
        int count = 3;
        int primeNum = -1;

        for (int i = 5; count <= nprime; i += 2)
        {
            if (PrimeNUmber.IsPrime(i))
            {
                primeNum = i;
                count++;
            }

        }

函数IsPrime(i)的时间复杂度为i的平方根(因为我将循环i的sqrt次)。那么找到第n个素数的总时间复杂度是多少?

1 个答案:

答案 0 :(得分:0)

当循环从O(n \sqrt(n))i5上循环时,它应该为n