| 
					
				 | 
			
			
				@@ -0,0 +1,72 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Sieve 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Welcome to Sieve on Exercism's PHP Track. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+If you need help running the tests or submitting your code, check out `HELP.md`. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## Introduction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+You bought a big box of random computer parts at a garage sale. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+You've started putting the parts together to build custom computers. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+You want to test the performance of different combinations of parts, and decide to create your own benchmarking program to see how your computers compare. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+You choose the famous "Sieve of Eratosthenes" algorithm, an ancient algorithm, but one that should push your computers to the limits. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## Instructions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Your task is to create a program that implements the Sieve of Eratosthenes algorithm to find all prime numbers less than or equal to a given number. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+A prime number is a number larger than 1 that is only divisible by 1 and itself. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+For example, 2, 3, 5, 7, 11, and 13 are prime numbers. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+By contrast, 6 is _not_ a prime number as it not only divisible by 1 and itself, but also by 2 and 3. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+To use the Sieve of Eratosthenes, you first create a list of all the numbers between 2 and your given number. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Then you repeat the following steps: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+1. Find the next unmarked number in your list (skipping over marked numbers). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   This is a prime number. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+2. Mark all the multiples of that prime number as **not** prime. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+You keep repeating these steps until you've gone through every number in your list. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+At the end, all the unmarked numbers are prime. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+~~~~exercism/note 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+The tests don't check that you've implemented the algorithm, only that you've come up with the correct list of primes. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+To check you are implementing the Sieve correctly, a good first test is to check that you do not use division or remainder operations. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+~~~~ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## Example 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Let's say you're finding the primes less than or equal to 10. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- List out 2, 3, 4, 5, 6, 7, 8, 9, 10, leaving them all unmarked. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- 2 is unmarked and is therefore a prime. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  Mark 4, 6, 8 and 10 as "not prime". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- 3 is unmarked and is therefore a prime. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  Mark 6 and 9 as not prime _(marking 6 is optional - as it's already been marked)_. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- 4 is marked as "not prime", so we skip over it. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- 5 is unmarked and is therefore a prime. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  Mark 10 as not prime _(optional - as it's already been marked)_. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- 6 is marked as "not prime", so we skip over it. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- 7 is unmarked and is therefore a prime. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- 8 is marked as "not prime", so we skip over it. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- 9 is marked as "not prime", so we skip over it. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- 10 is marked as "not prime", so we stop as there are no more numbers to check. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+You've examined all numbers and found 2, 3, 5, and 7 are still unmarked, which means they're the primes less than or equal to 10. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## Source 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+### Created by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- @jeslopcru 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+### Contributed to by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- @arueckauer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- @kunicmarko20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- @kytrinyx 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- @petemcfarlane 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+### Based on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Sieve of Eratosthenes at Wikipedia - https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes 
			 |