Semiprime: Difference between revisions
→{{header|Rust}}
Line 2,700:
functional version of is_semiprime:
<syntaxhighlight lang="rust">fn is_semiprime(n: usize) -> bool {
fn iter(x: usize, start: usize,
if
let limit = (x as f64).sqrt().ceil() as usize;
match (start..=limit).skip_while(|i| x % i > 0).next() {
Some(v) => iter(x / v, v,
None => if x < 2 {
else {
}
}
iter(n, 2,
}</syntaxhighlight>
{{out}}
|