Cullen and Woodall numbers: Difference between revisions

Rust - use iterators instead of loops
(Added Rust solution)
(Rust - use iterators instead of loops)
Line 636:
// rug = "1.15.0"
 
use rug::Integer;
use rug::integer::IsPrime;
use rug::Integer;
 
fn cullen_number(n: u32) -> Integer {
Line 651:
fn main() {
println!("First 20 Cullen numbers:");
forlet ncullen: inVec<String> = (1..21 {)
print!.map("{}",|x| cullen_number(nx).to_string_radix(10));
if n > 1 {
print!.collect(" ");
println!("{}", cullen.join(" "));
}
print!("{}", cullen_number(n));
}
 
println!("\n\nFirst 20 Woodall numbers:");
forlet nwoodall: inVec<String> = (1..21 {)
print!.map("{}",|x| woodall_number(nx).to_string_radix(10));
if n > 1 {
print!.collect(" ");
println!("{}", woodall.join(" "));
}
print!("{}", woodall_number(n));
}
 
println!("\n\nFirst 5 Cullen primes in terms of n:");
let mutcullen_primes: nVec<String> = (1;..)
if.filter_map(|x| match cullen_number(nx).is_probably_prime(25) != IsPrime::No {
let mut count = 0;
countIsPrime::No +=> 1;None,
while count != 5 {
_ => Some(x.to_string()),
if cullen_number(n).is_probably_prime(25) != IsPrime::No {
if count > 0 {})
print!.take(" "5);
}.collect();
printprintln!("{}", ncullen_primes.join(" "));
count += 1;
}
n += 1;
}
 
println!("\n\nFirst 512 Woodall primes in terms of n:");
let woodall_primes: Vec<String> = (1..)
n = 1;
if.filter_map(|x| match woodall_number(nx).is_probably_prime(25) != IsPrime::No {
count = 0;
countIsPrime::No +=> 1;None,
while count != 12 {
_ => Some(x.to_string()),
if woodall_number(n).is_probably_prime(25) != IsPrime::No {
if count > 0 {})
print!.take(" "12);
}.collect();
printprintln!("{}", nwoodall_primes.join(" "));
count += 1;
}
n += 1;
}
println!();
}</lang>
 
1,777

edits