Skip to content
← All examples

Primality test

Rust Algorithms

while with an early return

Flowchart (ISO 5807)

YesNoYesYesNoNoStartInput nn < 2Return falseEndi = 2i * i <= nn % i == 0Return falseEndi += 1Return trueEndFigure 1 — is_prime

Source code

fn is_prime(n: u32) -> bool {
    if n < 2 {
        return false;
    }
    let mut i = 2;
    while i * i <= n {
        if n % i == 0 {
            return false;
        }
        i += 1;
    }
    true
}