BOJ 1978 소수 찾기
1. 문제 링크
https://www.acmicpc.net/problem/1978
2. 문제 해설
소수인지 아닌지 판별해야하는 수가 1000이하이고 100개 이하로 주어진다. 주어진 조건의 범위가 작기에 1부터 1000까지 전부 다 나눠보는 방식으로 하여도 충분히 시간 제한을 만족한다.
입력 받은 수가 소수인지 판별하는 isPrime 메소드를 만들었다.
cnt는 소수의 갯수를 의미한다.
주어진 n개의 수에 isPrime 메소드를 이용하여 소수인지 판별하고, 소수라면 cnt를 1 더해준다.
최종적으로 cnt를 출력한다.
3. 코드 보기
import java.io.*;
import java.util.*;
public class Main
{
static boolean isPrime(int x)
{
if (x == 1)
return false;
for (int i = 2; i <= 1000; i++)
{
if (x == i)
continue;
if (x % i == 0)
return false;
}
return true;
}
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int cnt = 0;
int n = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++)
{
int x = Integer.parseInt(st.nextToken());
if (isPrime(x) == true)
cnt++;
}
bw.write(Integer.toString(cnt));
br.close();
bw.flush();
bw.close();
}
}
'PS > BOJ' 카테고리의 다른 글
BOJ 11576 Base Conversion [Java] (0) | 2021.08.12 |
---|---|
BOJ 2089 -2진수 [Java] (0) | 2021.08.11 |
BOJ 2745 진법 변환 [Java] (0) | 2021.08.01 |
BOJ 11005 진법 변환 2 [Java] (0) | 2021.07.27 |
BOJ 9613 GCD 합 [Java] (0) | 2021.07.27 |