Strong and weak primes: Difference between revisions
Rename Perl 6 -> Raku, alphabetize, minor clean-up
Thundergnat (talk | contribs) (Rename Perl 6 -> Raku, alphabetize, minor clean-up) |
|||
Line 680:
37780 321750
</pre>
=={{header|Java}}==
<lang java>
Line 914 ⟶ 915:
There are 321750 weak primes below ten million.
</pre>
=={{header|Maple}}==
<lang maple>isStrong := proc(n::posint) local holder;
Line 1,209 ⟶ 1,211:
Count of balanced primes <= 10,000,000: 21,837
</pre>
=={{header|Perl 6}}==▼
{{works with|Rakudo|2018.11}}▼
<lang perl6>sub comma { $^i.flip.comb(3).join(',').flip }▼
use Math::Primesieve;▼
my $sieve = Math::Primesieve.new;▼
my @primes = $sieve.primes(10_000_019);▼
my (@weak, @balanced, @strong);▼
for 1 ..^ @primes - 1 -> $p {▼
given (@primes[$p - 1] + @primes[$p + 1]) / 2 {▼
when * > @primes[$p] { @weak.push: @primes[$p] }▼
when * < @primes[$p] { @strong.push: @primes[$p] }▼
default { @balanced.push: @primes[$p] }▼
}▼
}▼
for @strong, 'strong', 36,▼
@weak, 'weak', 37,▼
@balanced, 'balanced', 28▼
-> @pr, $type, $d {▼
say "\nFirst $d $type primes:\n", @pr[^$d]».,▼
say "Count of $type primes <= {comma 1e6}: ", comma +@pr[^(@pr.first: * > 1e6,:k)];▼
say "Count of $type primes <= {comma 1e7}: ", comma +@pr;▼
}</lang>▼
{{out}}▼
<pre>First 36 strong primes:▼
(11 17 29 37 41 59 67 71 79 97 101 107 127 137 149 163 179 191 197 223 227 239 251 269 277 281 307 311 331 347 367 379 397 419 431 439)▼
Count of strong primes <= 1,000,000: 37,723▼
Count of strong primes <= 10,000,000: 320,991▼
First 37 weak primes:▼
(3 7 13 19 23 31 43 47 61 73 83 89 103 109 113 131 139 151 167 181 193 199 229 233 241 271 283 293 313 317 337 349 353 359 383 389 401)▼
Count of weak primes <= 1,000,000: 37,780▼
Count of weak primes <= 10,000,000: 321,750▼
First 28 balanced primes:▼
(5 53 157 173 211 257 263 373 563 593 607 653 733 947 977 1,103 1,123 1,187 1,223 1,367 1,511 1,747 1,753 1,907 2,287 2,417 2,677 2,903)▼
Count of balanced primes <= 1,000,000: 2,994▼
Count of balanced primes <= 10,000,000: 21,837</pre>▼
=={{header|Phix}}==
Line 1,340 ⟶ 1,297:
TOTAL primes below 1,000,000: 78498
TOTAL primes below 10,000,000: 664579</pre>
(formerly Perl 6)
▲{{works with|Rakudo|2018.11}}
▲<lang perl6>sub comma { $^i.flip.comb(3).join(',').flip }
▲use Math::Primesieve;
▲my $sieve = Math::Primesieve.new;
▲my @primes = $sieve.primes(10_000_019);
▲my (@weak, @balanced, @strong);
▲for 1 ..^ @primes - 1 -> $p {
▲ given (@primes[$p - 1] + @primes[$p + 1]) / 2 {
▲ when * > @primes[$p] { @weak.push: @primes[$p] }
▲ when * < @primes[$p] { @strong.push: @primes[$p] }
▲ default { @balanced.push: @primes[$p] }
▲ }
▲}
▲for @strong, 'strong', 36,
▲ @weak, 'weak', 37,
▲ @balanced, 'balanced', 28
▲ -> @pr, $type, $d {
▲ say "\nFirst $d $type primes:\n", @pr[^$d]».,
▲ say "Count of $type primes <= {comma 1e6}: ", comma +@pr[^(@pr.first: * > 1e6,:k)];
▲ say "Count of $type primes <= {comma 1e7}: ", comma +@pr;
▲}</lang>
▲{{out}}
▲<pre>First 36 strong primes:
▲(11 17 29 37 41 59 67 71 79 97 101 107 127 137 149 163 179 191 197 223 227 239 251 269 277 281 307 311 331 347 367 379 397 419 431 439)
▲Count of strong primes <= 1,000,000: 37,723
▲Count of strong primes <= 10,000,000: 320,991
▲First 37 weak primes:
▲(3 7 13 19 23 31 43 47 61 73 83 89 103 109 113 131 139 151 167 181 193 199 229 233 241 271 283 293 313 317 337 349 353 359 383 389 401)
▲Count of weak primes <= 1,000,000: 37,780
▲Count of weak primes <= 10,000,000: 321,750
▲First 28 balanced primes:
▲(5 53 157 173 211 257 263 373 563 593 607 653 733 947 977 1,103 1,123 1,187 1,223 1,367 1,511 1,747 1,753 1,907 2,287 2,417 2,677 2,903)
▲Count of balanced primes <= 1,000,000: 2,994
▲Count of balanced primes <= 10,000,000: 21,837</pre>
=={{header|REXX}}==
|