반응형
성능 요약
메모리: 17848 KB, 시간: 184 ms
분류
소수 판정, 정수론, 수학
제출 일자
2024년 11월 23일 01:43:40
문제 설명
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
import java.util.Scanner;
public class Main {
// 소수 판별 함수
public static boolean isPrime(int n) {
if (n < 2) return false; // 0과 1은 소수가 아님
for (int i = 2; i <= Math.sqrt(n); i++) { // √n까지만 검사
if (n % i == 0) return false; // 나누어떨어지면 소수가 아님
}
return true;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int cnt = 0;
for (int i = 0; i < n; i++) {
int num = sc.nextInt();
if (isPrime(num)) cnt++;
}
System.out.println(cnt);
}
}반응형
'백준 > Bronze' 카테고리의 다른 글
| [Bronze II] 숫자의 개수 - Java (0) | 2025.08.05 |
|---|---|
| [Bronze III] 오븐 시계 - Java (2) | 2025.08.05 |
| [Bronze I] 평균 - Java (3) | 2025.08.04 |
| [Bronze I] 팰린드롬수 - Java (0) | 2025.08.04 |
| [Bronze II] 단어의 개수 - Java (1) | 2025.08.04 |