Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Iterator;
- import java.util.LinkedHashMap;
- import java.util.Map;
- /**
- *
- *
- * implements of Sieve of Eratosthenes
- */
- public class PrimeNumbers {
- public static void main(String[] s) {
- long start =1L;
- long end = 5000L;
- long startTime = System.nanoTime();
- Map <Long,Boolean> map = new LinkedHashMap<>();
- map.put(2L, true);
- for (long m = 3; m <end; m+=2) {
- map.put(m,true);
- }
- for (long i = 3; i <Math.sqrt(end); i+=2) {
- if(map.get(i)==true){
- long j = 0;
- for (j = i*j; j < end; j+=i) {
- map.put(j,false);
- }
- }
- }
- Iterator<Long> keys = map.keySet().iterator();
- while(keys.hasNext()){
- Long key = keys.next();
- if(map.get(key)==false || (key<start)){
- keys.remove();
- }
- }
- System.out.println("Total Primes = " +map.size());
- System.out.println(map.keySet());
- System.out.println("Time Taken = " +(System.nanoTime()-startTime)/1000000000 + " Seconds");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement