Как генерировать простые числа в func - PullRequest
0 голосов
/ 25 сентября 2018

Я хочу создать множество простых чисел бесконечности.Я использую две функции.Первая функция проверяет, является ли число простым, и выдает значение boolean.Вторая функция, через статус while, крутит значение i и определяет простое число с первой функцией, а затем добавляет его к набору.Но не хочу работать.Я думаю, может быть, мое состояние пока неверно?в то время как Int.max - 1! = i условие должно быть другим?

func checkPrime(_ number: Int) -> Bool {
        var i = 2
        while number / 2 >= i {
            if number % i == 0 {
                return false
            }
            i += 1
        }
        return true
    }

    func getPrimeInfinity() -> Set<Int> {

        var prime: Set = [1, 2, 3]
        var i = 3

        while Int.max - 1 != i {
            if checkPrime(i) {
                prime.insert(i)
            }
            i += 1
        }
        return prime
    }

1 Ответ

0 голосов
/ 25 сентября 2018

Поиск простых чисел - сложная вычислительная операция.Есть несколько диссертаций на эту тему.

Вы не можете найти все простые числа до Int.max с таким наивным подходом, как ваш.На самом деле я сомневаюсь, что вы сможете сделать это за всю свою жизнь на обычном Mac, даже с использованием лучших алгоритмов.

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