def removeMultiples(x, arr) - directly remove the multiples of prime numbers (instead of just marking them) by creating a helper function. This recursive function takes in a number, n, and a list and returns a list that doesn’t contain the multiples of n. def createList(n) - a recursive function, createList(), that takes in the user input n and returns an array of integers from 2 through n (i.e. [2, 3, 4, …, n]). def Sieve_of_Eratosthenes(list) - a recursive function that takes in a list and returns a list of prime numbers from the input list. Template below: def createList(n): #Base Case/s #ToDo: Add conditions here for base case/s #if : #return #Recursive Case/s #ToDo: Add conditions here for your recursive case/s #else: #return #remove the line after this once all ToDo is completed return [] def removeMultiples(x, arr): #Base Case/s #TODO: Add conditions here for your base case/s #if : #return #Recursive Case/s #TODO: Add conditions here for your recursive case/s #else: #return #remove the line after this once you've completed all ToDo return [] def Sieve_of_Eratosthenes(list): #Base Case/s if len(list) < 1 : return list #Recursive Case/s else: return [list[0]] + Sieve_of_Eratosthenes(removeMultiples(list[0], list[1:])) if __name__ == "__main__": n = int(input("Enter n: ")) print(n) list = createList(n) #Solution 1 primes = Sieve_of_Eratosthenes(list) print(primes)
def removeMultiples(x, arr) - directly remove the multiples of prime numbers (instead of just marking them) by creating a helper function. This recursive function takes in a number, n, and a list and returns a list that doesn’t contain the multiples of n.
def createList(n) - a recursive function, createList(), that takes in the user input n and returns an array of integers from 2 through n (i.e. [2, 3, 4, …, n]).
def Sieve_of_Eratosthenes(list) - a recursive function that takes in a list and returns a list of prime numbers from the input list.
Template below:
def createList(n):
#Base Case/s
#ToDo: Add conditions here for base case/s
#if <condition> :
#return <value>
#Recursive Case/s
#ToDo: Add conditions here for your recursive case/s
#else:
#return <operation and recursive call>
#remove the line after this once all ToDo is completed
return []
def removeMultiples(x, arr):
#Base Case/s
#TODO: Add conditions here for your base case/s
#if <condition> :
#return <value>
#Recursive Case/s
#TODO: Add conditions here for your recursive case/s
#else:
#return <operation and recursive call>
#remove the line after this once you've completed all ToDo
return []
def Sieve_of_Eratosthenes(list):
#Base Case/s
if len(list) < 1 :
return list
#Recursive Case/s
else:
return [list[0]] + Sieve_of_Eratosthenes(removeMultiples(list[0], list[1:]))
if __name__ == "__main__":
n = int(input("Enter n: "))
print(n)
list = createList(n)
#Solution 1
primes = Sieve_of_Eratosthenes(list)
print(primes)
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 4 images