https://www.acmicpc.net/problem/2581
문제
풀이
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int a = Integer.parseInt(br.readLine());
int b = Integer.parseInt(br.readLine());
int sum = 0;
int min = 0;
for(int i = a; i <= b; i++){
sum += era(i);
if(min == 0){
min = sum;
}
}
if(sum == 0) System.out.println(-1);
else{
System.out.println(sum);
System.out.println(min);
}
}
public static int era(int n){
if(n == 1) return 0;
for(int i = 2; i <= Math.sqrt(n); i++){
if(n % i == 0){
return 0;
}
}
return n;
}
}
에라토스테네스의 체에서 핵심 부분만 가볍게 빼와서 전체적으로 비교해보는 풀이로 정리했다.
실제로는 배열을 직접 만들어서 비교하는 것이 더욱 효율적이다.
'문제 풀이 > 백준' 카테고리의 다른 글
[백준]2504번. 괄호의 값(JAVA) (0) | 2024.04.15 |
---|---|
[백준]1062번. 가르침(JAVA) (1) | 2024.04.14 |
[백준]2693번. N번째 큰 수 (JAVA) (0) | 2024.04.12 |
[백준]2309번. 일곱 난쟁이(JAVA) (0) | 2024.04.12 |
[백준]10870번. 피보나치수 5(JAVA) (0) | 2024.04.11 |