Largest difference between adjacent primes

func prime_gap_records(upto) {
 
    var gaps = []
    var p = 2
 
    each_prime(p.next_prime, upto, {|q|
        gaps[q-p] := p
        p = q
    })
 
    gaps.grep { defined(_) }
}
 
var upto   = 1e8
var primes = prime_gap_records(upto)
 
for n in (2 .. upto.ilog10) {
 
    var b = primes.last_by {|p| p < 10**n } \\ break
 
    printf("Largest prime gap up to 10^%s is %3s between %s and %s\n",
        n, b.next_prime - b, b, b.next_prime)
}

Output:

Last updated

Was this helpful?