본문 바로가기

백준 문제풀기/JAVA

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

 

약수를 구하는 방법은

소수인지 판정하는거를

조금만 바꾸면 됩니다

 

코드입니다

import java.util.*;

public class Main{
 
    public static void main(String []args){
        Scanner in = new Scanner(System.in);
        while(true)
        {
            int x = in.nextInt();
            if(x == -1) break;
            int sum = 0;
            List<Integer> arr = new ArrayList<>();
            for(int i=1; i<=x; i++)
            {
                if(x%i==0)
                {
                    arr.add(i);
                    sum+=i;
                }
            }
            if((sum-x)==x)
            {
                System.out.print(x+" = ");
                for(int j=0; j<arr.size()-1; j++)
                {
                    if((arr.size()-2)!=j)
                    {
                        System.out.print(arr.get(j)+" + ");
                    }else{
                        System.out.print(arr.get(j));
                    }
                }
                System.out.println();
            }else{
                System.out.println(x+" is NOT perfect.");
            }
        } 
    }
}

 

어레이 리스트를 이용해

출력이 원하는 형식을 맞춰줬습니다