# A program to find primes using a simple seive import math def createlistupto(n): """create a list of numbers from 2 up to the given number""" return list(range(2, n+1)) def seiveOneTimesTable(numbers,n, MAX): """Seive the n times table out of a list of numbers""" for i in range(2, int(MAX/n)+1): if n*i in numbers: numbers.remove(n*i) return numbers def seiveAll(numbers, MAX): """Seive all the timestable numbers out of a list of numbers""" for timestable in range(2, MAX): numbers = seiveOneTimesTable(numbers,timestable,MAX) return numbers def primes(MAX): """primes up to MAX""" numberlist = createlistupto(MAX) return seiveAll(numberlist, MAX) print(primes(100)) print (createlistupto(100)) print(seiveOneTimesTable(createlistupto(100),2, 100)) print(seiveOneTimesTable(createlistupto(100),3, 100)) l = createlistupto(100) print(seiveOneTimesTable(l,2, 100)) print(seiveOneTimesTable(l,3, 100))