728x90
반응형
문제
정답 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int M = Integer.parseInt(br.readLine());
int N = Integer.parseInt(br.readLine());
int sum = 0;
int min = N+1;
for(int i = M; i <= N; i++){
int check = 0;
for(int j = 1; j<=i; j++){
if(i%j == 0){
check++;
}
}
if(check == 2){
sum+=i;
if(min > i) min = i;
}
}
if(sum == 0) System.out.print(-1);
else{
System.out.println(sum);
System.out.println(min);
}
br.close();
}
}
- 메모리 14568KB
- 시간 300ms
직전에 풀었던 소수 찾기 문제와 동일한 접근 방법을 사용했습니다.
약수의 갯수가 2개면 소수로 판단하여 소수의 합(sum)과 소수 중 최솟값(min)을 계산해줬어요.
sum이 0이라는 것은 소수가 없었다는 것이니 -1을 출력해주고
그렇지 않을 경우 sum과 min을 출력해주면 끝입니다.
728x90
반응형
'Computer Science (CS) > 알고리즘' 카테고리의 다른 글
[백준/Java] 27323번 직사각형 (0) | 2023.05.22 |
---|---|
[백준/Java] 11653번 소인수분해 (0) | 2023.05.21 |
[백준/Java] 1978번 소수 찾기 (0) | 2023.05.21 |
[백준/Java] 9506번 약수들의 합 (0) | 2023.05.21 |
[백준/Java] 2501번 약수 구하기 (0) | 2023.05.20 |