Bazı sebeplerden dolayı doğru cevabı vermez ve bazı sebeplerden dolayı daha küçük girdilerle doğru olanı verir.Euler'ın problem10 kodunun nesi var?
public class Problem10 {
public static void main(String[] args) {
System.out.println(sumPrimeNumber(2000000));
}
public static boolean isPrime(int prime){
boolean isPrime = true;
if(prime%2==0)
return false;
for(int i = 3;i<=Math.pow(prime, 0.5);i+=2){
if(prime%i==0){
return false;
}
}
return isPrime;
}
public static int sumPrimeNumber(int max){
int sum = 0;
int prime = 3;
while(prime < max){
if(isPrime(prime)){
sum += prime;
}
prime += 2;
}
return sum + 2;
}
}
Daha büyük sayılarla uğraştığınız için INT'den biraz daha yüksek bir veri türü kullanmalısınız ... –