Day 38: 1978 (https://www.acmicpc.net/problem/1978)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import java.io.BufferedReader; import java.io.InputStreamReader; public class b1978_2 { public static boolean sieve(int toSieve) { if (toSieve <= 1) return false; for (int i = 2; i <= toSieve/2; i++) { if (toSieve % i == 0) return false; } return true; } public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); String[] posPrimes = br.readLine().split(" "); int numPrime = 0; for (int i = 0; i < N; i++) { int toSieve = Integer.parseInt(posPrimes[i]); if (sieve(toSieve)) numPrime++; } System.out.println(numPrime); } } | cs |
수를 여러 개 받고, 각각 소수임을 파악해 소수인 수의 갯수를 리턴한다. 입력은 한줄로 받아서 .split(), 소수임을 검사하는 sieve() 함수는 parameter를 (N을) 2부터 N/2까지 나눠보면서 검사.
