Cullen and Woodall numbers: Difference between revisions
Content added Content deleted
No edit summary |
(Added Rust solution) |
||
Line 630: | Line 630: | ||
1 7 23 63 159 383 895 2047 4607 10239 22527 49151 106495 229375 491519 1048575 2228223 4718591 9961471 20971519 |
1 7 23 63 159 383 895 2047 4607 10239 22527 49151 106495 229375 491519 1048575 2228223 4718591 9961471 20971519 |
||
done... |
done... |
||
</pre> |
|||
=={{header|Rust}}== |
|||
<lang rust>// [dependencies] |
|||
// rug = "1.15.0" |
|||
use rug::Integer; |
|||
use rug::integer::IsPrime; |
|||
fn cullen_number(n: u32) -> Integer { |
|||
let num = Integer::from(n); |
|||
(num << n) + 1 |
|||
} |
|||
fn woodall_number(n: u32) -> Integer { |
|||
let num = Integer::from(n); |
|||
(num << n) - 1 |
|||
} |
|||
fn main() { |
|||
println!("First 20 Cullen numbers:"); |
|||
for n in 1..21 { |
|||
if n > 1 { |
|||
print!(" "); |
|||
} |
|||
print!("{}", cullen_number(n)); |
|||
} |
|||
println!("\n\nFirst 20 Woodall numbers:"); |
|||
for n in 1..21 { |
|||
if n > 1 { |
|||
print!(" "); |
|||
} |
|||
print!("{}", woodall_number(n)); |
|||
} |
|||
println!("\n\nFirst 5 Cullen primes in terms of n:"); |
|||
let mut n = 1; |
|||
let mut count = 0; |
|||
while count != 5 { |
|||
if cullen_number(n).is_probably_prime(25) != IsPrime::No { |
|||
if count > 0 { |
|||
print!(" "); |
|||
} |
|||
print!("{}", n); |
|||
count += 1; |
|||
} |
|||
n += 1; |
|||
} |
|||
println!("\n\nFirst 5 Woodall primes in terms of n:"); |
|||
n = 1; |
|||
count = 0; |
|||
while count != 12 { |
|||
if woodall_number(n).is_probably_prime(25) != IsPrime::No { |
|||
if count > 0 { |
|||
print!(" "); |
|||
} |
|||
print!("{}", n); |
|||
count += 1; |
|||
} |
|||
n += 1; |
|||
} |
|||
println!(); |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
First 20 Cullen numbers: |
|||
3 9 25 65 161 385 897 2049 4609 10241 22529 49153 106497 229377 491521 1048577 2228225 4718593 9961473 20971521 |
|||
First 20 Woodall numbers: |
|||
1 7 23 63 159 383 895 2047 4607 10239 22527 49151 106495 229375 491519 1048575 2228223 4718591 9961471 20971519 |
|||
First 5 Cullen primes in terms of n: |
|||
1 141 4713 5795 6611 |
|||
First 5 Woodall primes in terms of n: |
|||
2 3 6 30 75 81 115 123 249 362 384 462 |
|||
</pre> |
</pre> |
||