자바생
Published 2021. 4. 26. 11:14
자바(백준) 1929 소수 구하기 BOJ(Java)
728x90

풀이 방법

boolean형 visit배열을 전부 true로 초기화시켜 visit의 index가 소수일 경우 값을 true로, 아닐 경우는 false로 바꾸었다. 그래서 마지막에 visit 값이 true인 곳만 출력시켜 답을 구했다. 소수를 판별하는 것은 에라토스테네스의 체 개념을 사용하여 구현했다.

 

사용 개념

에라토스테네스의 체

 

코드

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
import java.io.*;
import java.util.*;
 
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        StringBuilder sb = new StringBuilder();
        
        int num1 = Integer.parseInt(st.nextToken());
        int num2 = Integer.parseInt(st.nextToken());
        
        boolean visit[] = new boolean[num2+1];
        Arrays.fill(visit, true);
        visit[0= false;
        visit[1= false;
        for(int i = 2; i <= num2; i++){
            if(visit[i] == falsecontinue;
            
            for(int j = 2 * i; j <= num2; j += i)
                visit[j] = false;
        }
        
        for(int index = num1; index <= num2; index++){
            if(visit[index]) sb.append(index + "\n");
        } 
        System.out.print(sb);
    }
    
}
cs
728x90

'BOJ(Java)' 카테고리의 다른 글

자바(백준) 9663 N-Queen  (0) 2021.04.27
자바(백준) 2609 최대공약수와 최소공배수  (0) 2021.04.26
자바(백준) 1978 소수 찾기  (0) 2021.04.26
자바(백준) 1037 약수  (0) 2021.04.26
자바(백준) 9095 1, 2, 3 더하기  (0) 2021.04.26
profile

자바생

@자바생

틀린 부분이 있다면 댓글 부탁드립니다~😀

검색 태그