[백준] 2581

ninano05·2026년 3월 27일

소수 판정
소수 판정 반복문 작성시 범위 주의하기!
i * i < N 이 아니라 i * i <= N 이어야 한다.
그래야지 4인경우 2라는 약수를 검출 가능해서 소수가 아님을 판별할 수 있다.

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

public class Main {

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int m = Integer.parseInt(br.readLine());
        int n = Integer.parseInt(br.readLine());
        int sum = 0;
        int min = 0;

        for(int i=m; i<=n; i++) {
            if(isPrime(i)){
                sum+=i;
                if(min == 0) min = i; // 처음 소수 값 하나만 넣어주기(최소)
            }
        }
        if(min == 0) bw.write("-1");
        else bw.write(sum+"\n"+min);

        bw.flush();
        bw.close();
        br.close();
    }
    public static boolean isPrime(int n) {
        if(n < 2) return false;
        for(int i=2; i*i<=n;i++) {
            if(n%i==0) return false;
        }
        return true;
    }
}
profile
초보 개발자

0개의 댓글