Numbers whose count of divisors is prime: Difference between revisions
Content added Content deleted
(→{{header|Quackery}}: improved efficiency) |
No edit summary |
||
Line 1,409: | Line 1,409: | ||
Found 16 numbers |
Found 16 numbers |
||
done... |
done... |
||
</pre> |
|||
=={{header|Rust}}== |
|||
<syntaxhighlight lang="rust"> |
|||
fn count_divisors(number : u64 ) -> u64 { |
|||
let mut divisors : u64 = 0 ; |
|||
for n in 1..=number { |
|||
if number % n == 0 { |
|||
divisors += 1 ; |
|||
} |
|||
} |
|||
divisors |
|||
} |
|||
fn main() { |
|||
let mut the_numbers : Vec<u64> = Vec::new( ) ; |
|||
let mut count : i32 = 0 ; |
|||
for n in 1..100000 { |
|||
let divis = count_divisors( n as u64 ) ; |
|||
if divis > 2 && primal::is_prime( divis ) { |
|||
the_numbers.push( n ) ; |
|||
} |
|||
} |
|||
for n in the_numbers { |
|||
count += 1 ; |
|||
print!(" {:6}" , n ) ; |
|||
if count % 8 == 0 { |
|||
println!( ) ; |
|||
} |
|||
} |
|||
println!( ) ; |
|||
println!("count is {}" , count) ; |
|||
}</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
4 9 16 25 49 64 81 121 |
|||
169 289 361 529 625 729 841 961 |
|||
1024 1369 1681 1849 2209 2401 2809 3481 |
|||
3721 4096 4489 5041 5329 6241 6889 7921 |
|||
9409 10201 10609 11449 11881 12769 14641 15625 |
|||
16129 17161 18769 19321 22201 22801 24649 26569 |
|||
27889 28561 29929 32041 32761 36481 37249 38809 |
|||
39601 44521 49729 51529 52441 54289 57121 58081 |
|||
59049 63001 65536 66049 69169 72361 73441 76729 |
|||
78961 80089 83521 85849 94249 96721 97969 |
|||
count is 79 |
|||
</pre> |
</pre> |
||