Sayının bir sayı faktörü olup olmadığını kontrol eden bir for döngüsüm var, sonra bu faktörün asal olup olmadığını kontrol eder ve sonra bir diziye ekler. Orijinal sayısına bağlı olarak, benNeden Swift döngüsüm hata veriyor "sonu <start" ile aralık oluşturulamıyor?
fatal error: Can't form range with end < start
Bu hemen hemen her zaman olur belirten bir hata alırsınız, ancak bazı sayılar için iyi çalışıyor. kod 9, 15, ve burada
25. vardır ile bulduğum tek sayılar çalışmaktır: İkinci döngüde
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
Ama nasıl bazı sayılar fakat başkalarıyla çalışır geldi? – lagoon
bu üç sayı tekdir, bu yüzden "num% i" koşulu yanlıştır. – chris
Peki bunu nasıl düzeltirim? Eğer 1'de başlayacak olursam, herhangi bir normal programlama dilinde "primes" – lagoon