Saturday, January 14, 2012

Problem 7


Problem Statement :Problem7

Algorithm:

  • Because we can not run a direct loop we keep adding primes to a list and check whether the size of the list exceeds 10001.
  • As soon as it does we break and print the prime.

Solution:

    import java.util.ArrayList;
    import java.util.List;
    
    public class problem7 {
     public static boolean isPrime(double num) {
      for (int i = 2; i <= Math.sqrt(num); i++) {
       if (num % i == 0)
        return false;
      }
      return true;
     }
     
     public static List<Long> primes = new ArrayList<Long>();
     
     public static void main(String args[])
     {
      primes.add((long)2);
      for(long i=3;;i=i+2)
      {
       if(isPrime(i))
        primes.add(i);
       if(primes.size()==10001)
        break;
      }
     System.out.println(primes.get(10000));
     }
     
    }
    
    

No comments:

Post a Comment