문제 출처: https://www.acmicpc.net/problem/4948
유사 문제 참고: http://qlyh8.tistory.com/144?category=731166
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception { int endNum = 123456*2+1; boolean[] isPrimeArr = new boolean[endNum]; Arrays.fill(isPrimeArr, true); isPrimeArr[0] = false; isPrimeArr[1] = false; for(int i=2 ; i<=(int)Math.sqrt(endNum) ; ++i) { if (isPrimeArr[i]){ for (int j=i+i; j<=endNum; j+=i) isPrimeArr[j] = false; } } BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); StringBuilder builder = new StringBuilder(); while(true){ int n = Integer.parseInt(reader.readLine()); if(n == 0) break; int count = 0; for(int i=n+1 ; i<=n*2 ; i++){ if(isPrimeArr[i]) count++; } builder.append(count).append("\n"); } System.out.println(builder); } } | cs |
'Algorithm' 카테고리의 다른 글
백준 2292번: 벌집 (0) | 2018.10.24 |
---|---|
백준 9020번: 골드바흐의 추측 (0) | 2018.10.21 |
백준 1929번: 소수 구하기 (0) | 2018.10.21 |
백준 2581번: 소수 (0) | 2018.10.21 |
백준 1978번: 소수 찾기 (0) | 2018.10.21 |