직사각형 만들기
시간 제한1초메모리 제한128 MB
주어진 N에 대해, 타일 수 T의 정렬되지 않은 인수 쌍 개수(가로가 세로 이하인 직사각형 수)가 정확히 N이 되는 가장 작은 T를 구한다.
문제
강산이는 단위 정사각형 타일(한 변의 길이가 인 정사각형)을 가지고 있고, 가장 좋아하는 도형은 직사각형이다. 그는 타일을 하나도 남기지 않고 모두 사용하여 빈틈없는 직사각형을 만들려고 한다. 타일의 개수가 정해졌을 때, 서로 다른 직사각형을 몇 종류나 만들 수 있을까? 회전하여 같아지는 두 직사각형은 같은 것으로 보므로, 직사각형과 직사각형은 같은 종류이며, 정사각형도 직사각형에 포함된다.
예를 들어 타일이 개이면 과 의 두 종류를, 개이면 와 의 두 종류를 만들 수 있다.
이 주어질 때, 모든 타일을 사용하여 만들 수 있는 서로 다른 직사각형이 정확히 종류가 되도록 하는 단위 정사각형 타일 개수의 최솟값을 구하여라. 예를 들어 이면 답은 이다.
입력
입력은 여러 개의 테스트 케이스로 이루어지며, 각 줄에 정수 ()이 하나씩 주어진다. 마지막 줄에는 이 하나 주어지며, 이 줄은 입력의 끝을 나타내고 테스트 케이스가 아니다.
출력
각 테스트 케이스마다 한 줄에, 모든 타일을 사용하여 만들 수 있는 서로 다른 직사각형이 정확히 종류(더 많지도 적지도 않게)가 되도록 하는 단위 정사각형 타일 개수의 최솟값을 출력한다. 답은 항상 을 넘지 않는다.