진약수의 합
면접 대비시간 제한8초메모리 제한1024 MB
최대 백만 개의 수 각각에 대해 진약수의 합을 구하고, 그 수가 과잉수인지 부족수인지 완전수인지 판별한다.
문제
양의 정수 의 약수란 가 정수가 되는 정수 를 말한다. 이 문제에서 양의 정수 의 진약수의 합 을 자신을 제외한 의 모든 약수의 합으로 정의한다. 예를 들어 , , 이다.
진약수의 합을 이용하면 양의 정수를 과잉수, 부족수, 완전수 세 가지로 분류할 수 있다. 규칙은 다음과 같다.
- 양의 정수 는 이면 과잉수이다.
- 양의 정수 는 이면 부족수이다.
- 양의 정수 는 이면 완전수이다.
양의 정수 목록이 주어진다. 이들을 분류하는 프로그램을 작성하시오.
입력
입력의 첫째 줄에는 테스트 케이스의 수를 나타내는 양의 정수 가 주어진다. 입력의 둘째 줄에는 개의 양의 정수 가 공백으로 구분되어 주어진다.
출력
개의 줄을 출력한다. 가 과잉수이면 번째 줄에 abundant를 출력한다. 가 부족수이면 번째 줄에 deficient를 출력한다. 가 완전수이면 번째 줄에 perfect를 출력한다.
제한
- for .