PS/BOJ

[백준 BOJ] 9506 약수들의 합

Jubil 2018. 11. 12. 06:19
반응형

9506_약수들의 합

링크

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

 

풀이


 

자신을 제외한 약수를 반복문으로 구한 뒤 더해서 완전수이면 약수들의 합으로 나타내어 출력합니다. 완전수인지 판별, 출력 이렇게 반복문 두 번 돌려주시면 됩니다.

 

코드

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

//9506_약수들의 

#include <cstdio>

using namespace std;

 

int n;

 

int main() {

    while (true) {

        int cnt = 0;

        scanf("%d"&n);

 

        if (n == -1break;

 

        for (int i = 1; i < n; ++i) 

            if (n % i == 0) cnt += i;

 

        if (cnt == n) {                //완전수

            printf("%d = 1 ", n);

            for (int i = 2; i < n; ++i)

                if (n%i == 0printf("+ %d ", i);

            printf("\n");

        }

 

        else                        //완전수 X

            printf("%d is NOT perfect.\n", n);

    }

 

    return 0;

}

Colored by Color Scripter

cs

 



반응형

'PS > BOJ' 카테고리의 다른 글

[백준 BOJ] 2355 시그마  (0) 2018.11.14
[백준 BOJ] 1297 TV 크기  (1) 2018.11.13
[백준 BOJ] 1629 곱셈  (0) 2018.11.11
[백준 BOJ] 1964 오각형, 오각형, 오각형...  (0) 2018.11.10
[백준 BOJ] 2864 5와 6의 차이  (0) 2018.11.09