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); } } }