본문 바로가기

IT개념/정보처리산업기사

[정처산기] 알고리즘 - 완전 수 구하기

728x90

완전수란 자기 자신을 제외한 약수를 더했을 때 자기 자신이 되는 양의 정수를 말한다.

 

4~10000까지의 완전수를 구하시오.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    public static void main(String[] args) {
 
        for (int i = 4; i <= 10000; i++) {
            int a = 0;
 
            for (int j = 1; j <= i; j++) {
 
                if (i % j == 0) {
                    a = a + j;
                }
            }
            if (i == a - i) {
                System.out.print(i + " ");
            }
 
        }
 
    }
cs

 

3번 줄 : 4부터 10000까지 입력 값 넣어 줄 반복문 생성

4번 줄 : 완전 수 담을 변수 a 선언

6번 줄 : 약수 판단할 나머지 인자 값 j 입력할 반복문 생성

8~9번 줄 : i를 인자 j로 나누어 나머지가 0이될 시 변수 a에 인자 j 누적 연산해줌

12~13번 줄 : 약수를 다합친 a값에 자기 자신의 값인 i를 뺀 값이 일치하면 완전 수로 출력

 

출력 결과