How to resolve the algorithm Sequence of primes by trial division step by step in the Common Lisp programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Sequence of primes by trial division step by step in the Common Lisp programming language

Table of Contents

Problem Statement

Generate a sequence of primes by means of trial division.

Trial division is an algorithm where a candidate number is tested for being a prime by trying to divide it by other numbers. You may use primes, or any numbers of your choosing, as long as the result is indeed a sequence of primes. The sequence may be bounded (i.e. up to some limit), unbounded, starting from the start (i.e. 2) or above some given value. Organize your function as you wish, in particular, it might resemble a filtering operation, or a sieving operation. If you want to use a ready-made is_prime function, use one from the Primality by trial division page (i.e., add yours there if it isn't there already).

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Sequence of primes by trial division step by step in the Common Lisp programming language

Source code in the common programming language

(defun primes-up-to (max-number)
    "Compute all primes up to MAX-NUMBER using trial division"
    (loop for n from 2 upto max-number
          when (notany (evenly-divides n) primes)
          collect n into primes
          finally (return primes)))
     
(defun evenly-divides (n)
    "Create a function that checks whether its input divides N evenly"
    (lambda (x) (integerp (/ n x))))
     
(print (primes-up-to 100))


  

You may also check:How to resolve the algorithm Pernicious numbers step by step in the Quackery programming language
You may also check:How to resolve the algorithm Perfect numbers step by step in the Odin programming language
You may also check:How to resolve the algorithm Greatest common divisor step by step in the PostScript programming language
You may also check:How to resolve the algorithm Constrained random points on a circle step by step in the 11l programming language
You may also check:How to resolve the algorithm Speech synthesis step by step in the FutureBasic programming language