놓치기 쉬운 실수인 1은 소수가 아니다 라는 조건을 넣지 않아서 예상외로 고생을 했다.
항상 생각하는 것이지만 너무 당연한 것을 당연하게 생각하다보면 실수 하기가 좋은 것 같다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Main {
static public void main(String[] args) throws IOException {
BjSolution sol = new BjSolution();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int start = Integer.parseInt(br.readLine());
int end = Integer.parseInt(br.readLine());
sol.solution(start, end);
}
}
class BjSolution {
public void solution(int start, int end) {
List<Integer> primes = new ArrayList<>();
long sum = 0;
for (int i = start; i <= end; i++) {
if (isPrime(i)) {
primes.add(i);
sum += i;
}
}
if (primes.isEmpty()) {
System.out.println(-1);
return;
}
primes.sort(null);
System.out.println(sum);
System.out.println(primes.get(0));
}
private boolean isPrime(int i) {
boolean flag = true;
if (i == 1) {
return false;
}
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
flag = false;
break;
}
}
return flag;
}
}