백준 1978번 - 소수 찾기(Java)
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
풀이 과정
1. 소수는 자신과 1을 제외하면 나눠지지 않는 수 이므로, 2부터 자신 직전의 수 중에 나눠지는 수가 있으면 소수가 아님.
2. 처음 받는 숫자를 전부 소수라고 가정하고, 소수가 아닐 경우에 -1을 해서 최종 답을 얻음.
3. 숫자 1일 경우에는 소수가 아니므로 제외시킴.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int T = scanner.nextInt();
int cnt=T;
for(int i=0; i<T; i++) {
int num = scanner.nextInt();
if(num>=2) {
for(int j=2; j<num; j++) {
if(num%j==0) {
cnt--;
break;
}
}
}
else {
cnt--;
}
}
System.out.println(cnt);
}
}
'코테 준비' 카테고리의 다른 글
백준 11653번 - 소인수분해(Java) (0) | 2021.02.02 |
---|---|
백준 2581번 - 소수(Java) (0) | 2021.02.01 |
백준 1011번 - Fly me to the Alpha Centauri(Java) (0) | 2021.01.30 |
백준 10757번 - 큰 수 A+B(Java) (0) | 2021.01.29 |
백준 2839번 - 설탕 배달(Java) (0) | 2021.01.28 |