No sweet without sweat

[백준 9506 자바/JAVA] 약수들의 합 본문

백준

[백준 9506 자바/JAVA] 약수들의 합

Remi 2023. 3. 12. 16:19
728x90
반응형
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        while(true){

            int num = Integer.parseInt(br.readLine());

            if(num==-1) break;

            int[] arr = new int[num];
            int arrIndex = 0;
            int sum = 0;
            for (int i = 1; i < num; i++) {
                if(num%i==0){
                    arr[arrIndex++] = i;
                    sum += i;
                }
            }
            if(sum != num){
               sb.append(num + " is NOT perfect.");
            }else {
                sb.append(num + " = ");
                for (int i = 0; i < arrIndex; i++) {
                    if (i == arrIndex - 1) {
                        sb.append(arr[i]);
                    } else {
                        sb.append(arr[i] + " + ");
                    }
                }
            }
            sb.append("\n");
        }
        System.out.print(sb);



    }
}

https://www.acmicpc.net/problem/9506

 

9506번: 약수들의 합

어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라.

www.acmicpc.net

 

 

728x90
반응형
Comments