筆記:最大公因數、最小公倍數、質數
1. 最大公因數 (greatest common divisor)
兩數的最大公因數,可以用輾轉相除法求得:
Step 1: 34 = 10 * 3 + 4
Step 2: 10 = 4 * 2 + 2
Step 3: 4 = 2 * 2 + 0
當餘數為0時,取的最大公因數等於2code:
func gcd(_ a: Int, _ b: Int) -> Int {
a == 0 ? b : gcd(b % a, a)
}2. 最小公倍數(least common multiple)
兩數相乘 = 最大公因數 * 最小公倍數
例:
求18及30的最小公倍數
最小公倍數 = 兩數相乘 / 最大公因數
3. 判斷是否為質數
Code:
func isPrime(_ n: Int) -> Bool {
if n < 2 {
return false
}
var i = 2
while i < n {
if n % i == 0 {
return false
}
i += 1
}
return true
}





