题库练习 「NOI2016」循环之美
← 上一题 下一题 →

A6309 | 「NOI2016」循环之美

时间限制2s
内存限制512MB
通过 / 提交0/0

题目描述

牛牛是一个热爱算法设计的高中生。在他设计的算法中,常常会使用带小数的数进行计算。牛牛认为,如果在 $k$ 进制下,一个数的小数部分是**纯循环**的,那么它就是美的。

现在,牛牛想知道:对于已知的十进制数 $n$ 和 $m$,在 $k$ 进制下,有多少个数值上**互不相等**的纯循环小数,可以用分数 $\frac x y$ 表示,其中 $1\le x\le n,1\le y\le m$,且 $x,y$ 是整数。

一个数是纯循环的,当且仅当其可以写成以下形式:
$$a.\dot{c_1} c_2 c_3 \ldots c_{p - 1} \dot{c_p}$$
其中,$a$ 是一个整数,$p\ge1$;对于 $1\le i\le p$,$c_i$ 是 $k$ 进制下的一位数字。

例如,在十进制下,$0.45454545\dots=0.\dot{4}\dot{5}$ 是纯循环的,它可以用 $\frac 5 {11}$、$\frac{10}{22}$ 等分数表示;在十进制下,$0.1666666\dots=0.1\dot{6}$ 则不是纯循环的,它可以用 $\frac 1 6$ 等分数表示。

需要特别注意的是,我们认为一个整数是纯循环的,因为它的小数部分可以表示成 $0$ 的循环或是 $k-1$ 的循环;而一个小数部分非 $0$ 的有限小数不是纯循环的。

输入格式

输入文件只有一行,包含三个十进制数 $n,m,k$,意义如题所述。

输出格式

只输出一行一个整数,表示满足条件的美的数的个数。

输入输出样例

输入 #1
2 6 10
输出 #1
4
输入 #2
23333 666666 310
输出 #2
5089564081
C++ 编辑器
输入
输出