Cullen and Woodall numbers: Difference between revisions
Content added Content deleted
(Added Rust solution) |
(Rust - use iterators instead of loops) |
||
Line 636: | Line 636: | ||
// rug = "1.15.0" |
// rug = "1.15.0" |
||
⚫ | |||
use rug::integer::IsPrime; |
use rug::integer::IsPrime; |
||
⚫ | |||
fn cullen_number(n: u32) -> Integer { |
fn cullen_number(n: u32) -> Integer { |
||
Line 651: | Line 651: | ||
fn main() { |
fn main() { |
||
println!("First 20 Cullen numbers:"); |
println!("First 20 Cullen numbers:"); |
||
let cullen: Vec<String> = (1..21) |
|||
⚫ | |||
if n > 1 { |
|||
.collect(); |
|||
⚫ | |||
} |
|||
⚫ | |||
} |
|||
println!(" |
println!("\nFirst 20 Woodall numbers:"); |
||
let woodall: Vec<String> = (1..21) |
|||
⚫ | |||
if n > 1 { |
|||
.collect(); |
|||
println!("{}", woodall.join(" ")); |
|||
} |
|||
⚫ | |||
} |
|||
println!(" |
println!("\nFirst 5 Cullen primes in terms of n:"); |
||
let |
let cullen_primes: Vec<String> = (1..) |
||
⚫ | |||
let mut count = 0; |
|||
⚫ | |||
while count != 5 { |
|||
_ => Some(x.to_string()), |
|||
⚫ | |||
}) |
|||
.take(5) |
|||
.collect(); |
|||
println!("{}", cullen_primes.join(" ")); |
|||
⚫ | |||
} |
|||
n += 1; |
|||
} |
|||
println!(" |
println!("\nFirst 12 Woodall primes in terms of n:"); |
||
let woodall_primes: Vec<String> = (1..) |
|||
n = 1; |
|||
⚫ | |||
count = 0; |
|||
⚫ | |||
while count != 12 { |
|||
_ => Some(x.to_string()), |
|||
⚫ | |||
}) |
|||
.take(12) |
|||
.collect(); |
|||
println!("{}", woodall_primes.join(" ")); |
|||
⚫ | |||
} |
|||
n += 1; |
|||
} |
|||
⚫ | |||
}</lang> |
}</lang> |
||