https://www.acmicpc.net/problem/2581
2581번: 소수
M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.
www.acmicpc.net
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int m = Integer.parseInt(br.readLine());
int sum = 0;
int min = Integer.MAX_VALUE;
while (n <= m) {
if (isPrime(n)) {
sum += n;
min = Math.min(min, n);
}
n++;
}
if(sum==0) System.out.println(-1);
else{
System.out.println(sum);
System.out.println(min);
}
}
public static boolean isPrime(int n) {
if(n==1) return false;
for (int i = 2; i < n; i++) {
if (n % i == 0) return false;
}
return true;
}
}
1978 소수찾기 문제와 비슷한데 n과 m사이의 소수들 합과 최솟값을 구해야했다.
'ALGORITHM' 카테고리의 다른 글
[JAVA] 백준 4948번- 베르트랑 공준 (0) | 2022.08.29 |
---|---|
[JAVA] 백준 1929번- 소수 구하기 (0) | 2022.08.29 |
[JAVA] 백준 1978번- 소수 찾기 (0) | 2022.08.28 |
[JAVA] 백준 14888번- 연산자 끼워넣기 (0) | 2022.08.28 |
[JAVA] 백준 18429번- 근손실 (0) | 2022.08.27 |