algorithm

더블릿|dovelet - 3번째 계단 - 완전수,부족수,과잉수/perfect

블루건 2016. 8. 26. 16:55

문제


프로그램 명: perfect
제한시간: 1 초

완전수(perfect) , 부족수(deficient) , 과잉수(abundant) 를 출력하는 문제.

완전수란 자신을 제외한 약수의 합이 자신과 같은 수 , 부족수는 합이 자신의 수보다 작은수 , 과잉수는 큰수

입력

각 수는 60,000 보다 작다.

출력

수는 5 자리 확보후 오른쪽에 맞추어 출력후 2 칸 스페이스를 준 후 수의 종류를 출력한다.

입출력 예

입력

15

출력

   15  DEFICIENT

입력

28

출력

   28  PERFECT

입력

   56
   
출력

   56  ABUNDANT

출력 예의 보충 설명

입력 15 에 대한 출력

12345678901234567890123..
   15  DEFICIENT

참고

  • c .. printf("%5d",);
  • c++ .. cout << setw(5) << ..;
출처:Mid-Atlantic 1996


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
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main()
{
    int n, sum = 0;
    cin >> n;
 
    for (int i = 1; i < n; i++)
    {
        if (n%i == 0)
            sum += i;
    }
 
    if (sum == n)
        cout << setw(5<< n << "  PERFECT";
    else if (sum < n)
        cout << setw(5<< n << "  DEFICIENT";
    else 
        cout << setw(5<< n << "  ABUNDANT";
 
    return 0;
}
cs