У меня есть цикл for, который проверяет, является ли число фактором числа, затем проверяет, является ли этот коэффициент простым, а затем добавляет его в массив. В зависимости от исходного числа, я получаю сообщение об ошибке
фатальная ошибка: невозможно сформировать диапазон с концом < старт
Это происходит почти каждый раз, но для некоторых чисел он отлично работает. Единственными числами, которые я нашел для работы с ними, являются 9, 15 и 25.
Вот код:
let num = 16 // or any Int
var primes = [Int]()
for i in 2...(num/2) {
if ((num % i) == 0) {
var isPrimeFactor = true
for l in 2...i-1 {
if ((i%l) == 0) {
isPrimeFactor = false;
}//end if
}//end for
if (isPrimeFactor == true) {
primes.append(i)
}//end if
}//end if
}//end for