Школьнику Васе нравятся числа, которые заканчиваются счастливыми для него цифрами k. Поэтому каждый раз, когда он видит какое-нибудь натуральное число n, он сразу пытается подобрать такое d (d ≥ 2), что число n в системе счисления с основанием d заканчивается как можно большим количеством цифр k.
Требуется написать программу, которая по заданным числам n и k найдет такое d, чтобы число n в системе счисления с основанием d заканчивалось как можно большим количеством цифр k.
Вводятся два целых десятичных числа n и k (1 ≤ n ≤ 1011; 0 ≤ k ≤ 9).
Выведите два числа: d — искомое основание системы счисления и l — количество цифр k, которым заканчивается запись числа n в этой системе счисления. Если искомых d несколько, выведите любое из них, не превосходящее 1012 (такое всегда существует).
Примеры
|
| комментарий |
49 1 | 3 2 | 4910 = 12113 |
7 5 | 3 0 | Ни в одной системе счисления 7 не заканчивается на цифру 5 |
4 4
5 1
9 9
10 1
Возвращаясь из школы домой, Петя каждый раз обращал внимание на надпись на заборе «1 + 1 = 10» и удивлялся очевидной его неправоте. Но однажды его осенило, что это равенство верное, если рассматривать его в двоичной системе счисления. Его настолько поразила эта идея, что он решил непременно придумать свои три числа так, чтобы сумма первых двух была равна третьему в некоторой системе счисления.
Теперь он перебирает тройки чисел, которые, на его взгляд, достойны находиться на заборе. Петя выбирает числа A, B, C, записывающиеся десятичными цифрами, и дальше пытается найти основание системы счисления K, в которой равенство A + B = C оказалось бы верным. Петя рассматривает системы счисления с основанием от 2 до бесконечности.
Поскольку проверка каждой тройки — занятие трудоемкое, в помощь Пете необходимо написать программу, облегчающую расчеты.
В первой строке содержится число A, состоящее из цифр от 0 до 9 длины не более 200. В следующих двух строках в таком же формате записаны числа B и C.
Все числа неотрицательные и без ведущих нулей.
Выведите минимальное основание системы счисления, в которой выполняется равенство A + B = C. Если такого не существует, то выведите 0.
Частичные ограничения
Первая группа состоит из тестов, в которых у всех трех чисел количество цифр не превышает 5, а при сложении их «столбиком» в искомой системе счисления не происходит переноса в следующий разряд.
Вторая группа состоит из чисел, при переводе которых из искомой системы счисления в десятичную они не будут превышать 109.
9 8 17
10
9 8 11
16
5 5 1010
0
0 0 0
2
Во время экперимента Накодиллы было случайно получено сообщение инопланетян, содержащее формулу вида A + B = C.
Общественности стало интересно, какую же систему счисления используют инопланетяне. Так как внеземная цивилизация была достаточно развита, чтобы отправить межпланетное сообщение, Накодилла предположил, что основание системы счисления довольно мало. Требуется написать программу, которая находит минимальное основание системы счисления, при котором данное равенство выполняется.
В единственной строке входных данных содержится равенство вида A + B = C. Строка не содержит пробелы, числа состоят из цифр от 0 до 9 и заглавных латинских букв от А до Z
Гарантируется, что числа A, B, C не превышают 100000 в десятичной системе счисления
Требуется вывести единственное число – искомое основание системы счисления. Если такой системы счисления не существует, то вывести -1. Гарантируется, что ответ не превышает 36.
2+2=4
5
Маленькому мальчику Ване на кружке по системам счисления задали следующую задачу: перевести число X в системе счисления s1 в систему счисления s2. Недолго думая, он позвал на помощь своего лучшего друга Петю, который славился тем, что замечательно умел считать до 10 на пальцах. После нескольких бессонных ночей ребята общими усилиями справились с задачей.
Однако, на следующем занятии Ване задали похожую задачу, где X, к сожалению, превышало 10. Тогда ребята решили обратиться в Летнюю Компьютерную Школу с просьбой написать универсальную программу, которая решает задачу для любых X, s1 и s2. Ваша цель – выполнить просьбу Вани и Пети.
Во входных данных вашей программе дается 3 числа: исходное число X, основания систем счисления s1 и s2 (2 ≤ s1, s2 ≤ 10). Число X в десятичной системе счисления не превышает 2 × 109.
В выходных данных должно находиться одно число, равное числу X в системе счисления s2, или -1, если входные данные некорректны.
101 2 10
5
200 2 10
-1
Андрей популярный писатель-фантаст, он проводит мастер-классы для своих читателей. Наиболее популярным из них является Alien Communication Masterclass (ACM), на котором он учит как поступать в случае встречи с пришельцем или нахождении инопланетного артефакта.
Одна из лекций посвящена извлечению информации из инопланетных записей. Исследования Андрея базируется на математических формулах пришельцев, которые могут дать некоторые знания об организмах пришельцев (например, мы используем десятичную систему счисления потому что у нас 10 пальцев на верхних конечностях).
Предположим для простоты, что пришельцы используют те же самые цифры, что и мы и таким же образом трактуют сложение, вычитание, умножение, скобки и равенство.
Для своей лекции Андрей хочет найти пример равенства, которое выполняется в системах счисления с основаниями a1, a2, .., aN, но не выполняется в системах счисления с основаниями b1, b2, …, bM. Найдите для него пример такой формулы.
Первая строка входного файла содержит два целых числа N и M (1 ≤ N, M ≤ 8).
Вторая строка содержит N чисел a1, a2, .., aN
Третья строка содержит M чисел b1, b2, …, bM
Все числа ai и bi различны и лежат в пределах от 2 до 10.
Вывод должен представлять собой корректное математическое равенство, которое выполняется в системах счисления с основаниями a1, a2, .., aN и не выполняется в системах с основаниями b1, b2, …, bM.
Равенство может содержать цифры от 0 до 9, знак плюс +, минус и унарный минус –, знак умножения *, скобки ( и ) и знак равенства =. Знак равенства должен быть ровно один.
Все пробельные символы будут проигнорированы при проверке. Количество непробельных символов не должно превышать 10000.
1 2
2
3 9
(10 - 1) * (10 - 1) + 1 = 10
2 2
9 10
2 3
2 + 2 = 4