Уважаемые коллеги, подскажите пожалуйста есть ли ошибка в коде по вашему мнению
var number = 600851475143
var denominator = 2
var denominatorsArray: [Int] = []
repeat {
if number % denominator == 0 {
number /= denominator
denominatorsArray.append(denominator)
denominator = 2
} else if number != 1 {
denominator += 1
} else {
break
}
} while number != 1
print(denominatorsArray.last!)
Это 3 задача из проекта Эйлера: Каков самый большой делитель числа 600851475143, являющийся простым числом?
Может у Вас будут какие-либо предложения по оптимизации или конструктиваня критика?