Почему мой цикл Swift завершается с ошибкой «Не удается сформировать диапазон с концом <начало»?

У меня есть цикл 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

Ответы на вопрос(2)

Ваш ответ на вопрос