문제
문제해결
import java.util.Scanner;
public class S4_2581 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
//에라토스테네스의체로 소수 먼저 구하기
boolean[] arr = new boolean[m+1];
arr[0] = true;
arr[1] = true;
for (int i = 2; i <= Math.sqrt(m); i++) {
if (arr[i])
continue;
for (int j = i*i; j < m+1; j+=i) {
arr[j] = true;
}
}
// 소수의 합
int sum = 0;
for (int i = n; i <= m; i++) {
if (!arr[i])
sum += i;
}
if (sum==0)//소수가 없을 경우 -1 출력
System.out.println(-1);
else {
System.out.println(sum);
// 최소값
for (int i = n; i <= m; i++) {
if (!arr[i]){
System.out.println(i);
break;
}
}
}
}
}
- 에라토스테네스의체로 m까지의 소수를 구한다
- n~m까지의 소수 합과 최소값을 구한다
- 소수가 없을 경우 -1을 출력한다
'[알고리즘] > 백준' 카테고리의 다른 글
자바 - 구현 - 백준 1783 병든 나이트 (0) | 2021.05.26 |
---|---|
자바 - 구현 - 백준 6986 절사평균 (0) | 2021.05.24 |
자바 - 구현 - 백준 1292 쉽게 푸는 문제 (0) | 2021.05.18 |
자바 - 구현 - 백준 1978 소수 찾기 (0) | 2021.05.17 |
자바 - 구현 - 백준 2693 N번째 큰 수 (1) | 2021.05.16 |