1. M과 N을 입력받는다.
2. M이상 N이하의 수에 대해 그 수가 소수인지 검사한다.
3. 소수라면 소수의 합을 구하는 변수 sum에 더한다. 그리고 소수값 중 최솟값을 찾는다.
4. M이상 N이하의 값 중 소수가 없다면 sum이 0일 테니 이 경우에는 -1을 출력한다.
5. sum이 0이 아닌 경우(소수가 존재하는 경우) 소수의 합과 최솟값을 출력한다.
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
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 min = 10001;
int sum =0;
for(int i=M;i<=N;i++){
if(is_prime(i)){ // 소수라면
sum += i; // 합을 구하고
if(min>i) min = i; // 최솟값이라면 최솟값 업데이트
}
}
if(sum==0) System.out.println(-1); // 소수가 없다면 -1 출력
else{ // 소수가 존재한다면
System.out.println(sum); // 합과
System.out.println(min); // 최솟값 출력
}
}
// 소수인지 검사하는 함수
// 약수가 2개인 경우 소수이므로 true를 반환
public static boolean is_prime(int num){
int cnt=0;
for(int i=1;i<=num;i++){
if(num%i==0) cnt++;
}
if(cnt==2) return true;
else return false;
}
}
'[BOJ] - JAVA' 카테고리의 다른 글
[백준] 1929 : 소수 구하기 JAVA 풀이 (0) | 2022.05.19 |
---|---|
[백준] 11653 : 소인수분해 JAVA 풀이 (0) | 2022.05.19 |
[백준] 1978 : 소수 찾기 JAVA 풀이 (0) | 2022.05.18 |
[백준] 2775 : 부녀회장이 될 테야 JAVA 풀이 (0) | 2022.05.17 |
[백준] 2839 : 설탕 배달 JAVA 풀이 (0) | 2022.05.17 |