백준 2581번

김경욱·2025년 8월 6일

백준

목록 보기
25/121

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);

    int lowNum = in.nextInt();
    int highNum = in.nextInt();

    int count = 0;

    boolean first = true;
    int firstNum = 0;

    int extotal = 0;
    for (int i = lowNum; i<= highNum; i++)
    {
        int total = 0;
        for (int j = 1; j<=i; j++)
        {
            if ( i % j ==0 )
            {
                total += j;
            }
        }
        if (total == i+1 ) // 총합 구하기, 소수인지 판별
        {
            extotal+=i;
            count++;
            if (first)
            {
                firstNum = i;
                first = false;
            }


        }





    }

    if (count ==0)
    {
        System.out.println(-1);
        return;
    }
    System.out.println(extotal);
    System.out.println(firstNum);







    }

} 문제에 드디어 boolean 변수 사용을 나 혼자서 생각해서 풀은 첫 문제이다. 확실히 이전에 풀어봤던 문제와 유형이 비슷하여 풀기 수월하였다. 그리고 count를 정의하여 소수가 없을 경우까지 생각해야 해서 살짝은 시간이 더 들었던 것 같다.

0개의 댓글