주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
주어진 수들 중 소수의 개수를 출력한다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int count = 0;
for(int i=0; i<N; i++) {
boolean check = true;
int num = sc.nextInt();
if(num == 1)
continue;
for(int j = 2; j < num; j++) {
if(num % j == 0) {
check = false;
break;
}
}
if(check)
count++;
}
sc.close();
System.out.println(count);
}
}
소수는 1과 자기 자신으로 나누었을 때만 0이 나오는 수 들이다. 따라서, for문을 활용해서 2부터 자기 자신수 직전까지를 반복시켜서 그 중 % 계산 시, 0이 한번도 안나오면 소수이다.