Nasty 수

면접 대비

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

요약
32001 미만의 각 수에 대해 약수 쌍을 나열하고, 한 쌍의 차가 다른 쌍의 합과 같은지 판별한다.
난이도

보통10점 중 4점

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

문제

어떤 양의 정수가 양의 정수 약수 쌍을 두 쌍 이상 가지고, 그중 한 쌍의 차가 다른 한 쌍의 합과 같을 때 그 수를 nasty라고 부른다.

예를 들어 6은 6=6×1=2×36 = 6 \times 1 = 2 \times 3이고 6−1=2+3=56 - 1 = 2 + 3 = 5이므로 nasty이다. 마찬가지로 24는 24=12×2=6×424 = 12 \times 2 = 6 \times 4이고 12−2=6+4=1012 - 2 = 6 + 4 = 10이므로 nasty이다.

양의 정수 목록이 주어질 때, 각 수가 nasty인지 판별하라.

입력

첫째 줄에 판별할 정수의 개수 TT (T≤20T \le 20)가 주어진다. 이어지는 TT개의 줄에는 각각 32001보다 작은 양의 정수가 하나씩 주어진다.

출력

각 정수마다 한 줄씩 출력한다. 정수 값 뒤에 공백을 하나 두고, 그 수가 nasty이면 is nasty를, 그렇지 않으면 is not nasty를 출력한다. 입력과 같은 순서로 출력한다.

예제1

  1. 예제 1

    입력
    4
    6
    24
    30420
    10078
    
    예상 출력
    6 is nasty
    24 is nasty
    30420 is nasty
    10078 is not nasty