아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

완전수 판별

시간 제한1초메모리 제한128 MB

요약
주어진 각 수에 대해 자기 자신을 제외한 약수의 합을 구해 완전수, 과잉수, 부족수로 판별한다.
난이도

쉬움10점 중 2점

유형
수학, 정수론, 완전 탐색
정답자
아직 제출이 없습니다

문제

양의 정수 하나가 주어졌을 때, 그 수가 완전수(perfect), 과잉수(abundant), 부족수(deficient) 중 무엇인지 판별한다.

정수가 a=b×ca = b \times c 를 만족하면 aa 는 bb 와 cc 의 배수이고, bb 와 cc 는 aa 의 약수이다. 어떤 양의 정수의 진약수(proper divisor) 는 자기 자신을 제외한 모든 양의 약수를 뜻한다(11 은 진약수에 포함되고, 그 수 자신은 포함되지 않는다).

진약수의 합을 기준으로 다음과 같이 분류한다.

  • PERFECT (완전수): 진약수의 합이 자기 자신과 정확히 같은 수. 예를 들어 6=1+2+36 = 1 + 2 + 3, 28=1+2+4+7+1428 = 1 + 2 + 4 + 7 + 14 는 완전수이다.
  • DEFICIENT (부족수): 진약수의 합이 자기 자신보다 작은 수. 예를 들어 99 의 진약수는 1,31, 3 이고 그 합은 44 이므로 부족수이다.
  • ABUNDANT (과잉수): 진약수의 합이 자기 자신보다 큰 수. 예를 들어 1212 의 진약수는 1,2,3,4,61, 2, 3, 4, 6 이고 그 합은 1616 이므로 과잉수이다.

입력

NN 개의 양의 정수가 공백 또는 줄바꿈으로 구분되어 주어진다. 각 정수는 60,000 이하이고, 1<N<1001 < N < 100 이다. 정수 00 이 나오면 목록의 끝을 의미한다(00 자체는 처리 대상이 아니다).

출력

입력으로 주어진 각 정수마다 한 줄씩 출력한다. 각 줄은 정수 판정 형식으로, 정수와 판정 사이에 공백 하나를 둔다. 판정은 완전수이면 PERFECT, 부족수이면 DEFICIENT, 과잉수이면 ABUNDANT 이다. 입력에 나온 순서를 그대로 유지한다.

예제1

  1. 예제 1

    입력
    15 28 6 56 60000 22 496 0
    
    예상 출력
    15 DEFICIENT
    28 PERFECT
    6 PERFECT
    56 ABUNDANT
    60000 ABUNDANT
    22 DEFICIENT
    496 PERFECT