Advertisement
iamaamir

implements of Sieve of Eratosthenes

Sep 8th, 2014
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.25 KB | None | 0 0
  1.  
  2. import java.util.Iterator;
  3. import java.util.LinkedHashMap;
  4. import java.util.Map;
  5.  
  6. /**
  7.  *
  8.  *
  9.  * implements of Sieve of Eratosthenes
  10.  */
  11. public class PrimeNumbers {
  12.     public static void main(String[] s) {
  13.        
  14.         long start =1L;
  15.         long end = 5000L;
  16.        
  17.         long startTime = System.nanoTime();
  18.        
  19.         Map <Long,Boolean> map = new LinkedHashMap<>();
  20.         map.put(2L, true);
  21.        
  22.         for (long m  = 3;  m <end; m+=2) {
  23.             map.put(m,true);
  24.         }
  25.        
  26.         for (long i = 3; i <Math.sqrt(end); i+=2) {
  27.            
  28.             if(map.get(i)==true){
  29.                 long j = 0;
  30.                 for (j = i*j; j < end; j+=i) {
  31.                     map.put(j,false);
  32.                 }
  33.             }
  34.         }
  35.         Iterator<Long> keys = map.keySet().iterator();
  36.         while(keys.hasNext()){
  37.             Long key = keys.next();
  38.             if(map.get(key)==false || (key<start)){
  39.                 keys.remove();
  40.             }
  41.         }
  42.         System.out.println("Total Primes = " +map.size());
  43.         System.out.println(map.keySet());
  44.         System.out.println("Time Taken = " +(System.nanoTime()-startTime)/1000000000 + " Seconds");
  45.        
  46.        
  47.     }
  48.    
  49.    
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement