728x90
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
소수는 1과 자기 자신만을 약수로 갖는 1보다 큰 자연수이다.
그러므로 자기 자신보다 작고 2보다 크거나 같은 수 중에 나머지가 0인 수가 없으면 소수가 된다.
숫자가 1이거나, 약수를 가지는 경우에는 cnt를 더하지 않았고 아닌 경우에만 cnt를 더해 소수의 수를 구하였다.
package boj0728;
import java.util.Scanner;
public class BOJ_1978_소수찾기 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int cnt = 0;
label: for (int i = 0; i < N; i++) {
int num = sc.nextInt();
if (num == 1)
continue;
else {
for (int j = 2; j < num; j++) {
if (num % j == 0) {
continue label;
}
}
cnt++;
}
}
System.out.println(cnt);
}
}
728x90
'문제 풀이 > BOJ' 카테고리의 다른 글
[백준] 1929 - 소수 구하기 (자바/Java): 에라토스테네스의 체 (0) | 2022.07.28 |
---|---|
[백준] 2581 - 소수 (자바/Java) (0) | 2022.07.28 |
[백준] 10814 - 나이순 정렬 (자바/Java) (0) | 2022.07.27 |
[백준] 2839 - 설탕 배달 (자바/Java) (0) | 2022.07.26 |
[백준] 1065 - 한수 (자바/Java) (0) | 2022.07.26 |