A91996.「NOI2016」循环之美
省选/NOI-
通过率:0%
时间限制:2.00s
内存限制:512MB
题目描述
牛牛是一个热爱算法设计的高中生。在他设计的算法中,常常会使用带小数的数进行计算。牛牛认为,如果在 k 进制下,一个数的小数部分是纯循环的,那么它就是美的。
现在,牛牛想知道:对于已知的十进制数 n 和 m,在 k 进制下,有多少个数值上互不相等的纯循环小数,可以用分数 yx 表示,其中 1≤x≤n,1≤y≤m,且 x,y 是整数。
一个数是纯循环的,当且仅当其可以写成以下形式:
a.c1˙c2c3…cp−1cp˙
其中,a 是一个整数,p≥1;对于 1≤i≤p,ci 是 k 进制下的一位数字。
例如,在十进制下,0.45454545⋯=0.4˙5˙ 是纯循环的,它可以用 115、2210 等分数表示;在十进制下,0.1666666⋯=0.16˙ 则不是纯循环的,它可以用 61 等分数表示。
需要特别注意的是,我们认为一个整数是纯循环的,因为它的小数部分可以表示成 0 的循环或是 k−1 的循环;而一个小数部分非 0 的有限小数不是纯循环的。
输入格式
输入文件只有一行,包含三个十进制数 n,m,k,意义如题所述。
输出格式
只输出一行一个整数,表示满足条件的美的数的个数。
输入输出样例
输入#1
2 6 10
输出#1
4
输入#2
23333 666666 310
输出#2
5089564081
说明/提示
对于所有的测试点,保证 1≤n≤109,1≤m≤109,2≤k≤2000。
对于每个测试点,有以下约束(其中留空的表示没有特殊的约束):
| 测试点编号 | n | m | k |
|---|---|---|---|
| 1 | ≤10 | ≤20 | =2 |
| 2 | ≤100 | ≤104 | =2 |
| 3 | ≤1000 | =2 | |
| 4 | ≤10000 | =2 | |
| 5 | ≤10 | ≤20 | =3 |
| 6 | ≤100 | ≤104 | =3 |
| 7 | ≤1000 | =3 | |
| 8 | ≤10000 | =3 | |
| 9 | ≤10 | ≤20 | ≤100 |
| 10 | ≤100 | ≤104 | ≤100 |
| 11 | ≤1000 | ≤1000 | |
| 12 | ≤10000 | ||
| 13 | ≤105 | ≤108 | ≤100 |
| 14 | ≤2×105 | ≤1000 | |
| 15 | ≤5×105 | ||
| 16 | ≤106 | ≤108 | ≤100 |
| 17 | ≤2×106 | ≤1000 | |
| 18 | ≤5×106 | ||
| 19 | ≤107 | ≤108 | ≤100 |
| 20 | ≤2×107 | ≤1000 | |
| 21 | ≤2×107 | ||
| 22 | ≤108 | ≤108 | |
| 23 | ≤108 | ≤108 | |
| 24 | |||
| 25 |