반응형
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 == -1) break;
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 == 0) printf("+ %d ", i); printf("\n"); }
else //완전수 X printf("%d is NOT perfect.\n", n); }
return 0; } |
반응형
'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 |