一個簡短的素性測試
fn is_prime(n: u64) -> bool {
(2..n).all(|divisor| n % divisor != 0)
}
當然這不是一個快速的測試。我們可以在 n
的平方根處停止測試:
(2..n)
.take_while(|divisor| divisor * divisor <= n)
.all(|divisor| n % divisor != 0)
fn is_prime(n: u64) -> bool {
(2..n).all(|divisor| n % divisor != 0)
}
當然這不是一個快速的測試。我們可以在 n
的平方根處停止測試:
(2..n)
.take_while(|divisor| divisor * divisor <= n)
.all(|divisor| n % divisor != 0)