Project Euler, Problem 10 java solution now working
        Posted  
        
            by Dennis S
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Dennis S
        
        
        
        Published on 2010-06-15T13:19:21Z
        Indexed on 
            2010/06/15
            13:22 UTC
        
        
        Read the original article
        Hit count: 272
        
java
|project-euler
Hi, I'm trying to find the sum of the prime numbers < 2'000'000. This is my solution in java but I can't seem get the correct answer. Please give some input on what could be wrong and general advice on the code is appreciated.
Printing 'sum' gives: 1308111344, which is incorrect.
/*
The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million.
*/
class Helper{
 public void run(){
  Integer sum = 0;
  for(int i = 2; i < 2000000; i++){
   if(isPrime(i))
    sum += i;   
  }
  System.out.println(sum);
 }
 private boolean isPrime(int nr){
  if(nr == 2)
   return true;
  else if(nr == 1)
   return false;
  if(nr % 2 == 0)
   return false;
  for(int i = 3; i < Math.sqrt(nr); i += 2){
   if(nr % i == 0)
    return false;
  }  
  return true;  
 }
}   
class Problem{
 public static void main(String[] args){
  Helper p = new Helper();
p.run(); } }
© Stack Overflow or respective owner