Largest difference between adjacent primes: Difference between revisions

From Rosetta Code
Content added Content deleted
(Created page with "{{Draft task}} ;Task: <br> Find and show on this page the largest difference between adjacent primes, where '''n<1000''' <br><br> =={{header|Ring}}== <lang ring> load "stdli...")
 
(→‎{{header|Raku}}: Add a Raku example)
Line 5: Line 5:
Find and show on this page the largest difference between adjacent primes, where '''n<1000'''
Find and show on this page the largest difference between adjacent primes, where '''n<1000'''
<br><br>
<br><br>

=={{header|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>

<pre>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.</pre>


=={{header|Ring}}==
=={{header|Ring}}==
{{incorrect|Ring|There are 342 primes between 994657 and 999269.}}

<lang ring>
<lang ring>
load "stdlib.ring"
load "stdlib.ring"

Revision as of 11:35, 19 November 2021

Largest difference between adjacent primes is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
Task


Find and show on this page the largest difference between adjacent primes, where n<1000

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

This example is incorrect. Please fix the code and remove this message.

Details: There are 342 primes between 994657 and 999269.

<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...