Задача: Сумма цифр числа
Для целых чисел b ( b >= 2 ) и n ( n >= 1 ) пусть функция f(b, n) определяется следующим образом:
\(f (b, n) = n, когда\ n < b \\
f (b, n) = f (b, floor (n / b)) + (n \ mod \ b), когда \ n >= b\)
Здесь
floor(n / b) обозначает наибольшее целое число, не превышающее n / b;
n mod b обозначает остаток от n, деленный на b.
Менее формально f(b, n) равно сумме цифр n, записанных в базе b. Например, справедливо следующее:
\(f (10,87654) = 8 + 7 + 6 + 5 + 4 = 30\\
f (100,87654) = 8 + 76 + 54 = 138\)
Вам даны целые числа n и s. Определите, существует ли целое число b (b >= 2) такое, что f(b, n) = s. Если ответ положительный, найдите наименьшее из таких b.
Входные данные
В первой строке вводится целое число n (1 <= n <= 1011). Во второй строке - целое число s (1 <= s <= 1011).
Выходные данные
Выведите ответ на задачу. Если ответа нет, то выведите -1.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
87654
30 |
10 |
| 2 |
87654
138 |
100 |
| 3 |
87654
45678 |
-1 |
| 4 |
31415926535
1 |
31415926535 |
| 5 |
1
31415926535 |
-1 |
Ваш ответ: