https://www.acmicpc.net/problem/1978
1978번: 소수 찾기
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
www.acmicpc.net
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
핵심
1. scanner를 통해 몇개의 정수를 입력받을 건지 입력받는다.
2. 소수의 개수를 담을 int형 변수 count를 선언 및 초기화한다.
3. N만큼 도는 반복문을 만든다.
4. scanner를 통해 소수인지 확인할 int를 입력받고, 약수의 개수를 담을 howMany를 선언 및 초기화한다.
5. 또하나의 반복문을 통해 k를 j로 나누었을 때 약수의 개수를 1씩 추가한다.
6. 소수는 1과 자기 자신만이 약수이므로 howMany가 2개이면 약수이다. 그럴때 count를 1씩 증가시킨다.
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
int count = 0;
for (int i = 0; i < N; i++) {
int k = scanner.nextInt();
int howMany = 0;
for (int j = 1; j <= k; j++) {
if(k % j == 0){
howMany++;
}
}
if(howMany==2){
count++;
}
}
System.out.println(count);
}
}
'Algorithm' 카테고리의 다른 글
| [백준 알고리즘 JAVA] 11653번 소인수 분해 (0) | 2024.04.14 |
|---|---|
| [백준 알고리즘 JAVA] 2581번 소수 (0) | 2024.04.14 |
| [백준 알고리즘 JAVA] 9506번 약수들의 합 (1) | 2024.04.14 |
| [백준 알고리즘 JAVA] 2501번 약수 구하기 (2) | 2024.04.14 |
| [백준 알고리즘 JAVA] 5086번 배수와 약수 (1) | 2024.04.13 |