#### Exercise 80

Write an algorithm in Python as a function which takes two numbers m and n as parameters (m < n) and which returns a list formed of all the prime numbers between m and n. Example for **m = 10** and **n=20** the function must return:

`[11, 13, 17, 19]`

#### Solution

`def primNumber(n):`

# take initial value of number of divisors

numberOfDivisors = 0

for i in range(1,n+1):

# while i is a divisor of n we increment we increment numberOfDivisors

if n%i == 0:

numberOfDivisors = numberOfDivisors + 1

# the number n is prim number only if numberOfDivisors == 2

if numberOfDivisors == 2:

return True

else:

return False

# Now we can find the set of the prims numbers in given intervall [m,n]

def listPrimNumbers(m,n):

listPrim = []

for i in range(m , n+1):

# we test if i is prim or not

if (primNumber(i)):

# we add i to the list if it is a prim number

listPrim.append(i)

return listPrim

# Testing the function

print(listPrimNumbers(10,20))

# The output is [11, 13, 17, 19]

**Younes Derfoufi**

my-courses.net

my-courses.net