본문 바로가기

코딩 테스트/Project Euler @ kr

10) 이백만 이하 소수의 합

반응형

http://euler.synap.co.kr/prob_detail.php?id=10


10 이하의 소수를 모두 더하면 2 + 3 + 5 + 7 = 17 이 됩니다.

이백만(2,000,000) 이하 소수의 합은 얼마입니까?


------------------------------------------------


public static void main(String[] args){

boolean[] sosu = new boolean[2000000];

for(int i=3;i<2000000;i+=2){

int j=i*2;

while(j<2000000){

sosu[j]=true;

j+=i;

}

}

long max=2l;

for(int i=3;i<2000000;i+=2){

if(sosu[i]==false){

max+=(long)i;

}

}

System.out.println(max);

}

반응형