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>