如何为下面的代码找到时间复杂度
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个素数的总时间复杂度是多少?
答案 0 :(得分:0)
当循环从O(n \sqrt(n))
到i
在5
上循环时,它应该为n
。