Study📚/백준
[백준] - #1978: 소수 찾기
woo!na
2024. 5. 29. 22:27
문제 출처 : https://www.acmicpc.net/
#1978: 소수 찾기 (언어 : Java11)
제출 답안
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stz;
int num = Integer.parseInt(br.readLine());
stz = new StringTokenizer(br.readLine());
int count = 0;
for(int i=0; i<num; i++) {
int temp = Integer.parseInt(stz.nextToken());
if(temp<=1)
continue;
boolean prime = true;
for(int j=2; j*j<=temp; j++) {
if(temp%j==0) {
prime = false;
break;
}
}
if(prime)
count++;
}
System.out.println(count);
}
}
comment
- 16는 [1, 2, 4, 8, 16]이며 4를 제외한 다른 약수들은 16의 제곱근인 4보다 작다. 그리고 4 이상의 약수를 확인할 때, 이미 확인한 수를 다시 확인하지 않기 위해 j*j <= temp와 같은 조건을 사용했다.