
									 Problem
								
								
									 Solution
								
								
									 Submissions
								
								
							Sieve of Eratosthenes
								Certification: Advanced Level
								Accuracy: 0%
								Submissions: 0
								Points: 15
							
							Write a C++ program to implement the Sieve of Eratosthenes algorithm to find all prime numbers up to a given number `n`.
Example 1
- Input: n = 10
 - Output: 2 3 5 7
 - Explanation:
   
- Step 1: Create a boolean array of size n+1 initialized as true (assuming all numbers are prime initially).
 - Step 2: Mark 0 and 1 as non-prime (false).
 - Step 3: Starting from 2, iterate through each number. If it's marked as prime, mark all its multiples as non-prime.
 - Step 4: For n = 10, after sieving:
      
- 2 is prime, mark 4, 6, 8, 10 as non-prime
 - 3 is prime, mark 6, 9 as non-prime
 - 4 is already marked as non-prime
 - 5 is prime, mark 10 as non-prime
 
 - Step 5: Return all numbers still marked as prime: 2, 3, 5, 7.
 
 
Example 2
- Input: n = 20
 - Output: 2 3 5 7 11 13 17 19
 - Explanation:
   
- Step 1: Create a boolean array of size n+1 initialized as true.
 - Step 2: Mark 0 and 1 as non-prime.
 - Step 3: Starting from 2, iterate through each number. If it's marked as prime, mark all its multiples as non-prime.
 - Step 4: For n = 20, after sieving:
      
- 2 is prime, mark 4, 6, 8, 10, 12, 14, 16, 18, 20 as non-prime
 - 3 is prime, mark 6, 9, 12, 15, 18 as non-prime
 - 5 is prime, mark 10, 15, 20 as non-prime
 - 7 is prime, mark 14 as non-prime
 
 - Step 5: Return all numbers still marked as prime: 2, 3, 5, 7, 11, 13, 17, 19.
 
 
Constraints
- 1 ≤ n ≤ 10^6
 - Time Complexity: O(n log log n)
 - Space Complexity: O(n)
 
Editorial
									
												
My Submissions
										All Solutions
									| Lang | Status | Date | Code | 
|---|---|---|---|
| You do not have any submissions for this problem. | |||
| User | Lang | Status | Date | Code | 
|---|---|---|---|---|
| No submissions found. | ||||
Solution Hints
- Use the Sieve of Eratosthenes algorithm to find all prime numbers up to `n`.
 - Create a boolean array to mark non-prime numbers.
 - Iterate through the array and mark multiples of each prime number as non-prime.
 - The remaining unmarked numbers are prime.