Сложность по времени нахождения n-го простого числа - PullRequest
0 голосов
/ 10 января 2019

Как мне найти временную сложность для моего кода ниже

    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 (потому что я сделаю цикл для sqrt из i раз). Так какова будет общая сложность времени нахождения n-го простого числа?

1 Ответ

0 голосов
/ 10 января 2019

Это должно быть O(n \sqrt(n)), поскольку цикл повторяется по i от 5 до n.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...