만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Semiperfect

면접 대비

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

요약
100만 미만의 정수 m마다 진약수 중 일부를 골라 합이 m이 되는지 판별합니다.
난이도

보통10점 중 5점

유형
동적 계획법, 수학, 백트래킹
정답자
아직 제출이 없습니다

문제

Semiperfect 수는 자기 자신을 제외한 약수 중 일부 또는 전부를 더했을 때 원래 수가 되는 수이다. 예를 들어 12의 약수는 1, 2, 3, 4, 6이다. 6, 4, 2를 더하면 12가 되므로 12는 Semiperfect 수이다. 주어진 수가 Semiperfect 수인지 판별하라.

입력

첫 줄에 정수 nn이 주어진다. 이는 뒤에 이어지는 줄의 개수이다. 이후 nn개의 줄에 각각 정수 mm (1<m<10000001 < m < 1000000)이 하나씩 주어진다. 이 수가 판별 대상이다.

출력

각 mm에 대해 mm이 Semiperfect 수이면 "Semiperfect"를 출력하고, 그렇지 않으면 "NOT Semiperfect"를 출력한다.

예제1

  1. 예제 1

    입력
    4
    3
    6
    32
    228
    
    예상 출력
    NOT Semiperfect
    Semiperfect
    NOT Semiperfect
    Semiperfect