Prime words: Difference between revisions

Added Rust solution
(Added C++ solution)
(Added Rust solution)
Line 774:
meg
q
</pre>
 
=={{header|Rust}}==
<lang rust>// [dependencies]
// primal = "0.3"
 
use std::fs::File;
use std::io::{self, BufRead};
 
fn print_prime_words(filename: &str) -> std::io::Result<()> {
let sieve = primal::Sieve::new(std::char::MAX as usize);
let file = File::open(filename)?;
let mut n = 0;
for line in io::BufReader::new(file).lines() {
let word = line?;
if word.chars().all(|c| sieve.is_prime(c as usize)) {
n += 1;
print!("{:2}: {:<10}", n, word);
if n % 4 == 0 {
println!();
}
}
}
Ok(())
}
 
fn main() {
match print_prime_words("unixdict.txt") {
Ok(()) => {}
Err(error) => eprintln!("{}", error),
}
}</lang>
 
{{out}}
<pre>
1: a 2: aaa 3: age 4: agee
5: ak 6: am 7: ama 8: e
9: egg 10: eke 11: em 12: emma
13: g 14: ga 15: gag 16: gage
17: gam 18: game 19: gamma 20: ge
21: gee 22: gem 23: gemma 24: gm
25: k 26: keg 27: m 28: ma
29: mae 30: magma 31: make 32: mamma
33: me 34: meek 35: meg 36: q
</pre>
 
1,777

edits