만드는 중입니다

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

가장 쉬운 문제는 바로 이 문제

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

요약
100000 이하의 양의 정수 N마다 N과 N*p의 십진수 자릿수 합이 같아지는 10보다 큰 최소 배수 p를 구한다.
난이도

쉬움10점 중 3점

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

문제

양의 정수 NN을 십진법으로 나타내면 각 자릿수를 나열한 것이 된다.

N=d1d2d3…dk,0≤di≤9.N = d_1 d_2 d_3 \dots d_k, \qquad 0 \le d_i \le 9.

각 자릿수는 1010의 거듭제곱이 곱해진 값을 나타낸다.

N=d1⋅10k−1+d2⋅10k−2+⋯+dk−1⋅10+dk=∑i=0k−1di+1⋅10k−i−1.N = d_1 \cdot 10^{k-1} + d_2 \cdot 10^{k-2} + \dots + d_{k-1} \cdot 10 + d_k = \sum_{i=0}^{k-1} d_{i+1} \cdot 10^{k-i-1}.

자릿수의 합 S(N)S(N)은 1010의 거듭제곱을 곱하지 않고 각 자릿수를 그대로 더한 값이다.

S(N)=d1+d2+⋯+dk=∑i=0k−1di+1.S(N) = d_1 + d_2 + \dots + d_k = \sum_{i=0}^{k-1} d_{i+1}.

예를 들어 N=3029N = 3029이면 S(N)=3+0+2+9=14S(N) = 3 + 0 + 2 + 9 = 14이다.

NN에 다른 수를 곱하면 자릿수의 합은 보통 달라진다. 예를 들어 m1=26m_1 = 26일 때,

N⋅m1=78754,S(N⋅m1)=7+8+7+5+4=31.N \cdot m_1 = 78754, \qquad S(N \cdot m_1) = 7 + 8 + 7 + 5 + 4 = 31.

하지만 곱해도 자릿수의 합이 변하지 않는 수도 있다. 예를 들어 m2=37m_2 = 37일 때,

N⋅m2=112073,S(N⋅m2)=1+1+2+0+7+3=14=S(N).N \cdot m_2 = 112073, \qquad S(N \cdot m_2) = 1 + 1 + 2 + 0 + 7 + 3 = 14 = S(N).

1010보다 크면서 S(N)=S(N⋅p)S(N) = S(N \cdot p)를 만족하는 가장 작은 양의 정수 pp를 구하여라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 하나의 양의 정수 NN이 주어지는 한 줄이며, 1≤N≤100 0001 \le N \le 100\,000이다. 마지막 테스트 케이스 다음 줄에는 00 하나가 주어지고, 이 줄은 처리하지 않는다.

출력

각 테스트 케이스마다 S(N)=S(N⋅p)S(N) = S(N \cdot p)를 만족하는, 1010보다 큰 가장 작은 정수 pp를 한 줄에 하나씩 출력한다.

예제3

  1. 예제 1

    입력
    3029
    4
    5
    42
    0
    
    예상 출력
    37
    28
    28
    25
    
  2. 예제 2

    입력
    9
    0
    
    예상 출력
    12
    
  3. 예제 3

    입력
    7
    11
    99
    100
    0
    
    예상 출력
    19
    91
    11
    100