How to resolve the algorithm Sexy primes step by step in the Ring programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Sexy primes step by step in the Ring programming language

Table of Contents

Problem Statement

In mathematics, sexy primes are prime numbers that differ from each other by six. For example, the numbers 5 and 11 are both sexy primes, because 11 minus 6 is 5. The term "sexy prime" is a pun stemming from the Latin word for six: sex. Sexy prime pairs: Sexy prime pairs are groups of two primes that differ by 6. e.g. (5 11), (7 13), (11 17) See sequences: OEIS:A023201 and OEIS:A046117 Sexy prime triplets: Sexy prime triplets are groups of three primes where each differs from the next by 6. e.g. (5 11 17), (7 13 19), (17 23 29) See sequences: OEIS:A046118, OEIS:A046119 and OEIS:A046120 Sexy prime quadruplets: Sexy prime quadruplets are groups of four primes where each differs from the next by 6. e.g. (5 11 17 23), (11 17 23 29) See sequences: OEIS:A023271, OEIS:A046122, OEIS:A046123 and OEIS:A046124 Sexy prime quintuplets: Sexy prime quintuplets are groups of five primes with a common difference of 6. One of the terms must be divisible by 5, because 5 and 6 are relatively prime. Thus, the only possible sexy prime quintuplet is (5 11 17 23 29)

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Sexy primes step by step in the Ring programming language

Source code in the ring programming language

load "stdlib.ring"

primes = []
for n = 1 to 100
    if isprime(n)
       add(primes,n)
    ok
next

see "Sexy prime pairs under 100:" + nl + nl
for n = 1 to len(primes)-1
    for m = n + 1 to len(primes)
        if primes[m] - primes[n] = 6
           see "(" + primes[n] +  " " + primes[m] + ")" + nl
        ok
    next
next
see nl

see "Sexy prime triplets under 100:" + nl +nl
for n = 1 to len(primes)-2
    for m = n + 1 to len(primes)-1
        for x = m + 1 to len(primes)
            bool1 = (primes[m] - primes[n] = 6)
            bool2 = (primes[x] - primes[m] = 6)
            bool = bool1 and bool2
            if bool 
               see "(" + primes[n] +  " " + primes[m] + " " + primes[x] + ")" + nl
            ok
        next
    next
next
see nl

see "Sexy prime quadruplets under 100:" + nl + nl
for n = 1 to len(primes)-3
    for m = n + 1 to len(primes)-2
        for x = m + 1 to len(primes)-1
            for y = m + 1 to len(primes)
                bool1 = (primes[m] - primes[n] = 6)
                bool2 = (primes[x] - primes[m] = 6)
                bool3 = (primes[y] - primes[x] = 6)
                bool = bool1 and bool2 and bool3
                if bool 
                   see "(" + primes[n] +  " " + primes[m] + " " + primes[x] + " " + primes[y] + ")" + nl
                ok
             next
        next
    next
next
see nl

see "Sexy prime quintuplets under 100:" + nl + nl
for n = 1 to len(primes)-4
    for m = n + 1 to len(primes)-3
        for x = m + 1 to len(primes)-2
            for y = m + 1 to len(primes)-1
                for z = y + 1 to len(primes)
                    bool1 = (primes[m] - primes[n] = 6)
                    bool2 = (primes[x] - primes[m] = 6)
                    bool3 = (primes[y] - primes[x] = 6)
                    bool4 = (primes[z] - primes[y] = 6)
                    bool = bool1 and bool2 and bool3 and bool4
                    if bool 
                       see "(" + primes[n] + " " + primes[m] + " " + primes[x] + " " +
                                 primes[y] + " " + primes[z] + ")" + nl
                    ok
                 next
             next
        next
    next
next

  

You may also check:How to resolve the algorithm Sorting algorithms/Quicksort step by step in the Nix programming language
You may also check:How to resolve the algorithm HTTP step by step in the Biferno programming language
You may also check:How to resolve the algorithm Generic swap step by step in the COBOL programming language
You may also check:How to resolve the algorithm Catmull–Clark subdivision surface step by step in the Mathematica/Wolfram Language programming language
You may also check:How to resolve the algorithm Iterated digits squaring step by step in the Ada programming language