Rust入門 エラトステネスのふるい

エラトステネスのふるいで、30より小さい素数を表示するプログラム
配列sieveに30個のtrueを入れて、jが素数でなければsieve[j]をfalseにする。

fn main() {
    let mut sieve = [true; 30];
    sieve[0] = false;
    sieve[1] = false;
    for i in 2..6 {
        if sieve[i] {
            let mut j = i * i;
            while j < 30 {
                sieve[j] = false;
                j += i;
            }
        }
    }

    for i in 2..sieve.len() {
        if sieve[i] {
            println!("{}", i);
        }
    }
}