#3504. [GESP五级模拟]B进制阶乘

[GESP五级模拟]B进制阶乘

题目描述

一个正整数 xxbb 进制表示,指把 xx 写成以 bb 为基数的形式,其中每位数字取自 0,1,,b10,1,\ldots,b-1。例如 120120 的二进制表示是 111100021111000_2

给定两个正整数 nnbb,求 n!n!nn 的阶乘)的 bb 进制表示中,末尾连续的 00 的个数

输入格式

一行两个正整数 n,bn, b,其中 nn 是阶乘的参数,bb 是进制,用空格隔开。

输出格式

一行一个整数,表示 n!n!bb 进制表示中末尾连续的 00 的个数。

样例 #1

5 2
3

样例解释 #1

5!=1205! = 120,写成二进制是 111100021111000_2,末尾有 33 个连续的 00,所以答案是 33

样例 #2

6 4
2

样例解释 #2

6!=7206! = 720,写成四进制是 23100423100_4,末尾有 22 个连续的 00,所以答案是 22

样例 #3

100 2
97

样例解释 #3

100!100! 的数值非常大,无法直接列出。其二进制表示末尾连续的 00 的个数为 9797

数据范围

对于所有数据,1n1061 \le n \le 10^62b1062 \le b \le 10^6

本题采用捆绑测试。 只有通过一个子任务的全部测试点,才能获得该子任务的分数。

子任务 分值 测试点 附加约束
11 3030 001005001 \sim 005 n10n \le 10b10b \le 10,无依赖
22 006010006 \sim 010 n1000n \le 1000b1000b \le 1000,依赖子任务 11
33 4040 011024011 \sim 024 无附加限制,依赖子任务 22