아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

분수의 십진 표기 길이

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

요약
n이 주어지면 분자와 분모가 모두 1 이상 n 이하인 모든 분수 가운데 소수점과 괄호를 포함한 표기 길이가 가장 긴 값을 구합니다.
난이도

보통10점 중 5점

유형
시뮬레이션, 해시맵, 완전 탐색, 수학
정답자
아직 제출이 없습니다

문제

모든 유리수는 십진 소수로 적을 수 있다. 순환하는 자리를 괄호로 묶으면 표기는 다음과 같다.

4/2 = 2
1/4 = 0.25
10/3 = 3.(3)
1/7 = 0.(142857)
1/45 = 0.0(2)

표기마다 필요한 글자 수가 다르다. 4/2=24/2 = 2는 글자가 하나뿐이라 1이고, 1/7=0.(142857)1/7 = 0.(142857)은 10이다. 글자 수는 등호 오른쪽 표기만 세며 숫자, 소수점, 괄호를 모두 포함한다. 값이 정수면 소수점을 찍지 않고, 순환하는 부분이 없으면 괄호도 쓰지 않는다. 순환하지 않는 앞부분과 순환 마디는 둘 다 가장 짧게 잡는다.

정수 nn이 주어진다. 1≤a,b≤n1 \le a, b \le n인 분수 a/ba/b 하나를 이렇게 적을 때 필요한 글자 수는 최대 몇인가?

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 정수 nn (1≤n≤5001 \le n \le 500) 하나가 한 줄에 주어진다. 마지막 줄에는 00 하나가 주어진다.

출력

각 테스트 케이스마다 1≤a,b≤n1 \le a, b \le n인 a/ba/b를 적는 데 필요한 최대 글자 수를 정수 하나로 한 줄에 출력한다. 공백과 빈 줄은 넣지 않는다.

예제1

  1. 예제 1

    입력
    12
    19
    156
    0
    
    예상 출력
    10
    22
    152