[Java] 백준 2581번: 소수

U·2023년 3월 17일

백준

목록 보기
27/116

💻 문제


일단 이해하자🤔

  • 1978번 소수 찾기 문제처럼 소수에 대해 이해만 하면 쉽게 풀 수 있다.
  • 소수를 구하는 부분은 소수 찾기 문제와 동일하게 구성하고 소수일때마다 sum에 값을 더하고 min은 10000으로 초기값을 설정하여 처음 구해진 소수가 min에 저장되도록 하면 될 것이라고 생각했다!

👀 풀이

import java.io.*;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bfw = new BufferedWriter(new OutputStreamWriter(System.out));

        int M = Integer.parseInt(bfr.readLine());
        int N = Integer.parseInt(bfr.readLine());
        int sum = 0;
        int min = 10000;
        int count = 0;
        boolean decimal = false;

        for (int i = M; i <= N; i++) {
            for (int j = 2; j <= i; j++) {
                if (i % j == 0 && i != j) {
                    decimal = false;
                    break;
                } else {
                    decimal = true;
                }
            }

            if (decimal) {
                if (min > i) {
                    min = i;
                }
                count++;
                sum += i;
            }
        }

        if (count == 0) {
            bfw.write("-1");
        } else {
            bfw.write(sum + "\n" + min);
        }


        bfr.close();
        bfw.flush();
        bfw.close();
    }
}
profile
백엔드 개발자 연습생

0개의 댓글