Anaprimes: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (→{{header|Raku}}: use List::Allmax) |
(→{{header|Ruby}}: Add Ruby) |
||
Line 933: | Line 933: | ||
Largest group of anaprimes before one billion: 26,519 members. |
Largest group of anaprimes before one billion: 26,519 members. |
||
First: 102345697 Last: 976542103</pre> |
First: 102345697 Last: 976542103</pre> |
||
=={{header|Ruby}}== |
|||
9 digit takes about 4 minutes (not done here). Could use something like Raku's Allmax. |
|||
<syntaxhighlight lang="ruby" line>require 'prime' |
|||
upto = 100_000_000 |
|||
h = Hash.new {|hash, key| hash[key] = []} |
|||
Prime.each(upto) do |pr| |
|||
h[pr.digits.sort] << pr |
|||
end |
|||
(3..(upto.digits.size-1)).each do |num_digits| |
|||
group = h.select {|k,v| k.size == num_digits} |
|||
sizes = group.values.group_by(&:size) |
|||
max = sizes.keys.max |
|||
maxes = sizes[max] |
|||
puts "Anaprime groups of #{num_digits} digits: #{maxes.size} ha#{maxes.size == 1 ? "s" : "ve"} #{max} primes." |
|||
maxes.each{|group| puts " First: #{group.first} Last: #{group.last}"} |
|||
end |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre>Anaprime groups of 3 digits: 3 have 4 primes. |
|||
First: 149 Last: 941 |
|||
First: 179 Last: 971 |
|||
First: 379 Last: 937 |
|||
Anaprime groups of 4 digits: 2 have 11 primes. |
|||
First: 1237 Last: 7321 |
|||
First: 1279 Last: 9721 |
|||
Anaprime groups of 5 digits: 1 has 39 primes. |
|||
First: 13789 Last: 98731 |
|||
Anaprime groups of 6 digits: 1 has 148 primes. |
|||
First: 123479 Last: 974213 |
|||
Anaprime groups of 7 digits: 1 has 731 primes. |
|||
First: 1235789 Last: 9875321 |
|||
Anaprime groups of 8 digits: 1 has 4333 primes. |
|||
First: 12345769 Last: 97654321</pre> |
|||
=={{header|Wren}}== |
=={{header|Wren}}== |