완전수 판별
시간 제한1초메모리 제한128 MB
주어진 각 수에 대해 자기 자신을 제외한 약수의 합을 구해 완전수, 과잉수, 부족수로 판별한다.
문제
양의 정수 하나가 주어졌을 때, 그 수가 완전수(perfect), 과잉수(abundant), 부족수(deficient) 중 무엇인지 판별한다.
정수가 를 만족하면 는 와 의 배수이고, 와 는 의 약수이다. 어떤 양의 정수의 진약수(proper divisor) 는 자기 자신을 제외한 모든 양의 약수를 뜻한다( 은 진약수에 포함되고, 그 수 자신은 포함되지 않는다).
진약수의 합을 기준으로 다음과 같이 분류한다.
- PERFECT (완전수): 진약수의 합이 자기 자신과 정확히 같은 수. 예를 들어 , 는 완전수이다.
- DEFICIENT (부족수): 진약수의 합이 자기 자신보다 작은 수. 예를 들어 의 진약수는 이고 그 합은 이므로 부족수이다.
- ABUNDANT (과잉수): 진약수의 합이 자기 자신보다 큰 수. 예를 들어 의 진약수는 이고 그 합은 이므로 과잉수이다.
입력
개의 양의 정수가 공백 또는 줄바꿈으로 구분되어 주어진다. 각 정수는 60,000 이하이고, 이다. 정수 이 나오면 목록의 끝을 의미한다( 자체는 처리 대상이 아니다).
출력
입력으로 주어진 각 정수마다 한 줄씩 출력한다. 각 줄은 정수 판정 형식으로, 정수와 판정 사이에 공백 하나를 둔다. 판정은 완전수이면 PERFECT, 부족수이면 DEFICIENT, 과잉수이면 ABUNDANT 이다. 입력에 나온 순서를 그대로 유지한다.