[BOJ 13468] Multiplying Digits
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
4
Time limit:
3.0s
Memory limit:
512M
Problem types
Allowed languages
For every positive integer we may obtain a non-negative integer by multiplying its digits. This defines a function f, e.g. f(38) = 24.</p>
This function gets more interesting if we allow for other bases. In base 3, the number 80 is written as 2222, so: f3(80) = 16.
We want you to solve the reverse problem: given a base B and a number N, what is the smallest positive integer X such that fB(X) = N?
입력 형식
The input consists of a single line containing two integers B and N, satisfying 2 < B ≤ 10 000 and 0 < N < 263.
출력 형식
Output the smallest positive integer solution X of the equation fB(X) = N. If no such X exists, output the word “impossible”. The input is carefully chosen such that X < 263 holds (if X exists).
예제 입력 1
10 24
예제 출력 1
38
예제 입력 2
10 11
예제 출력 2
impossible
예제 입력 3
9 216
예제 출력 3
546
예제 입력 4
10000 5810859769934419200
예제 출력 4
5989840988999909996
Comments