一个简短的素性测试
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)