Страница: 1 Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Необходимо подсчитать количество нулей в конце числа N!, записанного в K-ичной системе счисления.

В 3141 году очередная экспедиция на Марс обнаружила в одной из пещер таинственные знаки. Они однозначно доказывали существование на Марсе разумных существ. Однако смысл этих таинственных знаков долгое время оставался неизвестным. Недавно один из ученых, профессор Очень-Умный, заметил один интересный факт: всего в надписях, составленных из этих знаков, встречается ровно \(K\) различных символов. Более того, все надписи заканчиваются на длинную последовательность одних и тех же символов.

Вывод, который сделал из своих наблюдений профессор, потряс всех ученых Земли. Он предположил, что эти надписи являются записями факториалов различных натуральных чисел в системе счисления с основанием \(K\). А символы в конце - это конечно же нули - ведь, как известно, факториалы больших чисел заканчиваются большим количеством нулей. Например, в нашей десятичной системе счисления факториалы заканчиваются на нули, начиная с 5!=1·2·3·4·5 . А у числа 100! в конце следует 24 нуля в десятичной системе счисления и 48 нулей в системе счисления с основанием 6 - так что у предположения профессора есть разумные основания!

Теперь ученым срочно нужна программа, которая по заданным числам \(N\) и \(K\) найдет количество нулей в конце записи в системе счисления с основанием \(K\) числа \(N\)!=1·2·3·...·(\(N\)-1)·\(N\), чтобы они могли проверить свою гипотезу. Вам придется написать им такую программу!

Входные данные

В первой строке входных данных содержатся числа \(N\) и \(K\), разделенные пробелом, (1 <= \(N\) <= \(10^9\), 2 <= \(K\) <= 1000).

Выходные данные

Выведите число \(X\) - количество нулей в конце записи числа \(N\)! в системе счисления с основанием \(K\).

Примеры
Входные данные
5 10
Выходные данные
1
Входные данные
1 2
Выходные данные
0
Входные данные
100 10
Выходные данные
24
Входные данные
1000 10
Выходные данные
249
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Роман коллекционирует числа, кажущиеся ему интересными. Например, сейчас он считает интересным положительные числа, запись которых в системе счисления с основанием k заканчивается нечетным числом нулей. Например, при k = 2 такими числами являются 210 = 102, 2410 = 110002.

Для того, чтобы пополнить свою коллекцию, Роман хочет найти n-ое в порядке возрастания такое число. Поскольку n он взял достаточно большим, то вручную у него это сделать не получается. Помогите Роману — напишите программу, которая найдет число, которое нужно ему для пополнения коллекции.

Входные данные

Первая строка входного файла содержит два целых числа (1 ≤ n ≤ 1015, 2 ≤ k ≤ 10).

Выходные данные

В выходной файл выведите n-ое в порядке возрастания число, запись которого в системе счисления с основанием k заканчивается на нечетное число нулей. Это число необходимо вывести в десятичной системе счисления.

Примеры
Входные данные
1 2
Выходные данные
2
Входные данные
10 10
Выходные данные
110

Страница: 1 Отображать по:
Выбрано
:
Отменить
|
Добавить в контест