부족수, 완전수, 과잉수
면접 대비시간 제한1초메모리 제한128 MB
각 정수에 대해 진약수의 합을 구해 부족수, 완전수, 과잉수로 분류한다.
문제
여러 개의 양의 정수를 읽어, 각 정수가 부족수(deficient), 완전수(perfect), 과잉수(abundant) 중 무엇인지 판별하는 프로그램을 작성하세요.
양의 정수 의 진약수는 을 포함하되 자기 자신 은 제외한 약수를 말합니다. 진약수의 합을 라고 할 때:
- 이면 은 완전수입니다.
- 이면 은 부족수입니다.
- 이면 은 과잉수입니다.
예를 들어 의 진약수는 이고 그 합은 이므로 은 완전수입니다.
입력
첫 줄에 이어지는 정수의 개수가 주어집니다. 그다음 각 줄에 정수가 하나씩 주어집니다. 입력되는 각 정수는 보다 크고 보다 작습니다. 즉 입니다.
출력
각 정수마다 그 값과 분류 결과를 다음 형식에 맞추어 한 줄에 출력합니다.
- 부족수이면
n is a deficient number. - 완전수이면
n is a perfect number. - 과잉수이면
n is an abundant number.
여기서 n은 입력된 정수 값입니다. 연속한 두 출력 결과 사이에는 빈 줄을 하나 넣습니다.