Earliest difference between prime gaps: Difference between revisions
Content added Content deleted
m (→{{header|Phix}}: added machine specs) |
|||
Line 135: | Line 135: | ||
Earliest difference > 1,000,000,000 between adjacent prime gap starting primes: |
Earliest difference > 1,000,000,000 between adjacent prime gap starting primes: |
||
Gap 276 starts at 649,580,171, gap 278 starts at 4,260,928,601, difference is 3,611,348,430. |
Gap 276 starts at 649,580,171, gap 278 starts at 4,260,928,601, difference is 3,611,348,430. |
||
</pre> |
|||
=={{header|Perl}}== |
|||
<lang perl>#!/usr/bin/perl |
|||
use strict; # https://rosettacode.org/wiki/Earliest_difference_between_prime_gaps |
|||
use warnings; |
|||
use ntheory qw( primes ); |
|||
my @gaps; |
|||
my $primeref = primes( 1e9 ); |
|||
for my $i ( 2 .. $#$primeref ) |
|||
{ |
|||
my $diff = $primeref->[$i] - $primeref->[$i - 1]; |
|||
$gaps[ $diff >> 1 ] //= $primeref->[$i - 1]; |
|||
} |
|||
my %first; |
|||
for my $i ( 1 .. $#gaps ) |
|||
{ |
|||
defined $gaps[$i] && defined $gaps[$i-1] or next; |
|||
my $diff = abs $gaps[$i] - $gaps[$i-1]; |
|||
for my $m ( map 10 ** $_, 1 .. 10 ) |
|||
{ |
|||
$diff > $m and !$first{$m}++ and |
|||
print "above $m gap @{[$i * 2 - 2 ]} abs( $gaps[$i-1] - $gaps[$i] )\n"; |
|||
} |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
above 10 gap 4 abs( 7 - 23 ) |
|||
above 100 gap 14 abs( 113 - 1831 ) |
|||
above 1000 gap 14 abs( 113 - 1831 ) |
|||
above 10000 gap 36 abs( 9551 - 30593 ) |
|||
above 100000 gap 70 abs( 173359 - 31397 ) |
|||
above 1000000 gap 100 abs( 396733 - 1444309 ) |
|||
above 10000000 gap 148 abs( 2010733 - 13626257 ) |
|||
above 100000000 gap 198 abs( 46006769 - 378043979 ) |
|||
</pre> |
</pre> |
||