반응형

제목과 같이 소수를 찾는 문제이다.
사실 에라토스테네스의 체 알고리즘을 써야 할 것 같은데… 나는 그런 개념이 존재한다는 사실을 이 문제를 다 풀고 나서야 알았다…ㅋㅋㅋㅋㅋ
다음 문제가 소수 구하기던데, 그 문제를 풀 때 에라토스테네스의 체를 써봐야겠다!
import java.io.*;
public class PrimeNumber_1978 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = stoi(br.readLine());
int cnt = N; // 소수의 개수. N개에서 합성수를 만날 때마다 1씩 감소시킬 것.
String[] n_list = br.readLine().split(" ");
for (int i=0; i<N; i++) {
int n = stoi(n_list[i]);
if (n == 1) { // 1은 소수가 아니므로
cnt--; // 개수를 하나 감소시킨다
} else { // 1이 아닌 수를 만나면
for (int j=2; j<n; j++) {
if (n%j == 0) { // 그 수가 만약 합성수라면
cnt--; // 소수의 개수를 하나 감소시킨다
break;
}
}
}
}
sb.append(cnt);
System.out.print(sb);
br.close();
}
public static int stoi(String str) {
return Integer.parseInt(str);
}
}
로그인
www.acmicpc.net
작성일자: 2023-09-09
'컴퓨터 공학 > 백준' 카테고리의 다른 글
[백준] JAVA 자바 : 골드바흐의 추측 (6588번) (0) | 2024.01.22 |
---|---|
[백준] JAVA 자바 : 소수 구하기 (1929번) (0) | 2024.01.22 |
[백준] JAVA 자바 : 최소공배수 (1934번) (0) | 2024.01.21 |
[백준] JAVA 자바 : 최대공약수와 최소공배수 (2609번) (0) | 2024.01.21 |
[백준] JAVA 자바 : 접미사 배열 (11656번) (0) | 2024.01.21 |