Largest difference between adjacent primes
Find and show on this page the largest difference between adjacent primes, where n<1000
- Task
Raku
<lang perl6>for 2..8 -> $n {
printf "Largest prime gap up to {10 ** $n}: %d - between %d and %d.\n", .[0], |.[1] given max (^10**$n).grep(&is-prime).rotor(2=>-1).map({.[1]-.[0],$_})
}</lang>
Largest prime gap up to 100: 8 - between 89 and 97. Largest prime gap up to 1000: 20 - between 887 and 907. Largest prime gap up to 10000: 36 - between 9551 and 9587. Largest prime gap up to 100000: 72 - between 31397 and 31469. Largest prime gap up to 1000000: 114 - between 492113 and 492227. Largest prime gap up to 10000000: 154 - between 4652353 and 4652507. Largest prime gap up to 100000000: 220 - between 47326693 and 47326913.
Ring
<lang ring> load "stdlib.ring" see "working..." + nl limit = 1000000 Primes = [] maxOld = 0 maxNew = 0 diffNew = 0 oldDiff = 0
for n = 1 to limit
maxNew = n diffNew = maxNew - maxOld if isprime(n) and diffNew > oldDiff add(Primes,[n,maxOld]) oldDiff = diffNew maxOld = maxNew ok
next
len = len(Primes) diff = Primes[len][1] - Primes[len][2] see Primes[len(Primes)] see nl + "Largest difference is = " + diff + nl see "done..." + nl </lang>
- Output:
working... 999269 994657 Largest difference is = 4612 done...
Wren
<lang ecmascript>import "./math" for Int, Nums import "/fmt" for Fmt
var limit = 1e6 - 1 var primes = Int.primeSieve(limit) var maxI = 0 var maxDiff = 0 for (i in 1...primes.count) {
var diff = primes[i] - primes[i-1] if (diff > maxDiff) { maxDiff = diff maxI = i }
} System.print("The largest difference between adjacent primes under 1,000,000 is:") Fmt.print("$,d - $,d = $d", primes[maxI], primes[maxI-1], maxDiff)</lang>
- Output:
The largest difference between adjacent primes under 1,000,000 is: 492,227 - 492,113 = 114