#ATarc149f. [ARC149F] Rational Number System
[ARC149F] Rational Number System
题目描述
设 为有理数, 为 的分子, 为 的分母。即 是正整数,满足 且 。
正整数 的 进制展开 定义为满足以下所有条件的整数序列 :
- 是 到 之间的整数;
- ;
- 。
可以证明,任意正整数 都有唯一的 进制展开。
给定正整数 ,其中 满足 。
将所有不超过 的正整数,按其 进制展开的字典序从小到大排列,输出第 个正整数。
注意,正整数的输入输出均使用通常的十进制表示。
什么是数列的字典序?
设数列 ,,若满足下列 1 或 2,则称 的字典序小于 :
- 且 ;
- 存在整数 ,同时满足:
- ;
- 。
输入格式
输入通过标准输入给出,格式如下:
输出格式
输出 行。第 行输出所有不超过 的正整数,按 进制展开的字典序从小到大排列时,第 个正整数。
输出正整数时请使用十进制表示。
样例 1
输入
3 1 9 1 9
输出
1
3
9
4
5
2
6
7
8
样例 2
输入
3 2 9 1 9
输出
1
2
3
4
6
9
7
8
5
样例 3
输入
3 2 9 3 8
输出
3
4
6
9
7
8
样例 4
输入
10 9 1000000000000000000 123456789123456789 123456789123456799
输出
806324968563249278
806324968563249279
725692471706924344
725692471706924345
725692471706924346
725692471706924347
725692471706924348
725692471706924349
653123224536231907
653123224536231908
653123224536231909
说明/提示
约束条件
样例解释 1
以下正整数的 进制展开如下:
1: (1), 2: (2), 3: (1, 0), 4: (1, 1), 5: (1, 2), 6: (2, 0), 7: (2, 1), 8: (2, 2), 9: (1, 0, 0)。
样例解释 2
以下正整数的 进制展开如下:
1: (1), 2: (2), 3: (2, 0), 4: (2, 1), 5: (2, 2), 6: (2, 1, 0), 7: (2, 1, 1), 8: (2, 1, 2), 9: (2, 1, 0, 0)。
例如 的 进制展开为 ,因为 $2 \cdot \left(\frac{3}{2}\right)^2 + 1 \cdot \frac{3}{2} + 0 \cdot 1 = 6$。
样例解释 3
输入样例 2 的输出中,第 到第 个即为答案。
由 ChatGPT 4.1 翻译