Algorithm/Baekjoon
[백준 알고리즘][자바] 1978번 : 소수 찾기
hyunipad
2021. 8. 2. 22:49
반응형
https://www.acmicpc.net/problem/1978
1978번: 소수 찾기
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
www.acmicpc.net
안녕하세요. 이번 포스팅은 1978번 : 소수 찾기입니다.
먼저 소수의 정의는 1과 자기 자신만을 약수로 가지는 자연수입니다.
약수를 판단하는 방법은 나머지가 0인지 아닌지를 체크합니다.
체크한 후 약수 갯수가 2개이면 그 수는 소수입니다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int T = Integer.parseInt(br.readLine()); // 테스트 케이스의 개수
String numArr[] = br.readLine().split(" "); // 입력 받은 숫자들
int result = 0;
for(int i = 0 ; i < T ; i++) {
int num = Integer.parseInt(numArr[i]);
int count = 0;
if(num == 1) { // 1은 소수가 아니다.
continue;
}else {
for(int i2 = 1 ; i2 <= num ; i2++) { // 1부터 시작하여 자기자신까지 약수 갯수를 카운트
if(num % i2 == 0) {
count++;
}
}
}
if(count == 2) { 약수 갯수가 2개이면 소수이다.
result++;
}
}
bw.write(String.valueOf(result));
br.close();
bw.flush();
bw.close();
}
}
반응형