문제 출처 : 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와 같은 조건을 사용했다.
'Study📚 > 백준' 카테고리의 다른 글
[백준] - #9012: 괄호 (0) | 2024.05.31 |
---|---|
[백준] - #10872: 팩토리얼 (0) | 2024.05.30 |
[백준] - #4344: 평균은 넘겠지 (0) | 2024.05.29 |
[백준] - #2750: 수 정렬하기 (0) | 2024.05.28 |
[백준] - #2908: 상수 (0) | 2024.05.28 |