Pernicious numbers: Difference between revisions

Add Rust implementation
(Updated to work with Nim 1.4: added missing parameter type.)
(Add Rust implementation)
Line 2,367:
[3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 24, 25, 26, 28, 31, 33, 34, 35, 36]
[888888877, 888888878, 888888880, 888888883, 888888885, 888888886]
</pre>
 
=={{header|Rust}}==
<lang rust>
extern crate aks_test_for_primes;
 
use std::iter::Filter;
use std::ops::RangeFrom;
 
use aks_test_for_primes::is_prime;
 
fn main() {
for i in pernicious().take(25) {
print!("{} ", i);
}
println!();
for i in (888_888_877u64..888_888_888).filter(is_pernicious) {
print!("{} ", i);
}
}
 
fn pernicious() -> Filter<RangeFrom<u64>, fn(&u64) -> bool> {
(0u64..).filter(is_pernicious as fn(&u64) -> bool)
}
 
fn is_pernicious(n: &u64) -> bool {
is_prime(n.count_ones())
}
</lang>
{{out}}
<pre>
3 5 6 7 9 10 11 12 13 14 17 18 19 20 21 22 24 25 26 28 31 33 34 35 36
888888877 888888878 888888880 888888883 888888885 888888886
</pre>
 
Anonymous user