ihatov08 blog

プログラミング初心者だけどRailsとSwiftマスターします

素数判定

素数とは1 と自分自身以外に正の約数を持たない自然数で、1 でない数のことである。 正の約数の個数が 2 である自然数と言い換えることもできる。例えば17の場合、1と17だけが約数。プログラミングで判定するためには、整数2から自分自身(この場合17)未満、つまり2から16で順に割り算を行い、割り切れたらfalseを返すような条件式を記述する。

var number = 50

var isPrime = true

for var i = 2; i < number; i++ {
    
    if number % i == 0 {      =>4times
        
        isPrime = false
        
    }

}

print(isPrime) => false

50は因数を4つ持っているため処理が4回(4times)行われている。
しかし、このままでは1か2の場合に条件判定が行われないので、下記条件のように書き換える。

var number = 4

var isPrime = true

if number == 1 {
    
    isPrime = false

}

if number != 1 && number != 2 {
    
    for var i = 2; i < number; i++ {
    
    if number % i == 0 {
        
        isPrime = false
        
 
        }
    
    }
    
}

print(isPrime)