SP19329 GRUPVIVA - Group Viva
题目描述
今天是计算机科学科目的外部口试,而 Bosky 完全没有准备。更糟的是,他甚至还没到学校。不过幸运的是,外部考官也迟到了。Bosky 设法在外部考官到来之前赶到了学校,但他仍很担心,因为他不想被外部考官当众羞辱。
口试的流程要求每位学生在进入口试房间前,按照签到顺序被叫入考场。即使是按学号顺序签到,学生还是会按签到顺序、以个人或同样数量的小组形式被叫到。内部监考需要确保学生在外部考官到达前完成签到。口试会在外部考官到达后立即开始。学生们知道外部考官会在30分钟后到达。Bosky 得到了些许额外的时间,思索如何避免被羞辱。他观察周围后发现,有些学生的状况比他更糟。从以往经验来看,当被以小组形式叫到时,外部考官通常会狠狠地挑一个最脆弱的学生批评,其余学生则被忽视。Bosky 知道,如果能和一个比他更脆弱的学生安排在同一组内,他可能就能避免被批评。
当大家开始签到时,Bosky 迅速找到了这样的一个学生,并在他的后面签了名。现在他相当确定,如果他和那个“猎物”能被分在同一组,他可能就能逃过被辱骂。
班里共有 **N** 个学生,Bosky 知道外部考官会一次性叫 **X** 个学生进行口试,**X** 的值可能在 **\[1, N\]** 之间。现在他想要知道,他和他的“猎物”会被分到同一组的概率是多少。
给出班级总人数 **N** 和 Bosky 的签到位置 **R**,请计算 Bosky 的计划成功的概率,即他和被称为“猎物”的学生会在同一组。
更具体地,你将获知两个整数 **N** 和 **R**,其中 $2 \leq N \leq 10^9$ 且 $2 \leq R \leq N$。你需要计算在该序列 \[1, 2, 3, ..., N\] 被按每组 **X** 个数字划分时,**R** 和 **(R-1)** 同组的概率。即序列被划分为各组 \[1, 2, ..., X\], \[(X+1), (X+2), ..., 2X\], \[(2X+1), (2X+2), ..., 3X\], ... ,直到 \[(X \cdot \lfloor (N-1)/X \rfloor + 1), ..., N\],其中 $1 \leq X \leq N$,最后一组可以少于 **X** 个数字。
输入格式
输入以一个整数 **T** 开头,表示测试用例的数量。
接下来是 **T** 个测试用例,每个用例由两个整数 **N** 和 **R** 组成,其中 **N** 是班级总人数,**R** 是 Bosky 的签到位置。
输出格式
对于每个测试用例,输出一个以分数形式表示的概率 p/q,且 p 和 q 的最大公约数为 1。
说明/提示
- $1 \leq T \leq 500$
- $1 < N \leq 10^9$
- $1 < R \leq N$
## 样例输入
```
2
5 5
6 5
```
## 样例输出
```
2/5
1/2
```
## 解释
- **样例 1**: N=5,R=5
- 共有 5 名学生,Bosky 签到了第 5 位,他的“猎物”则签到了第 4 位。
- 如果每组招 **X** 名学生,且 $1 \leq X \leq N$,可组合如下:
- X=1: \[ {1}, {2}, {3}, {4}, {5} \]
- X=2: \[ {1, 2}, {3, 4}, {5} \]
- X=3: \[ {1, 2, 3}, {4, 5} \]
- X=4: \[ {1, 2, 3, 4}, {5} \]
- X=5: \[ {1, 2, 3, 4, 5} \]
- 在 X=3 和 X=5 时,Bosky 和他的“猎物”在同一组。因此输出为 "2/5"。
- **样例 2**: 类似于样例 1,但 N=6,R=5
- 组合如下:
- X=1: \[ {1}, {2}, {3}, {4}, {5}, {6} \]
- X=2: \[ {1, 2}, {3, 4}, {5, 6} \]
- X=3: \[ {1, 2, 3}, {4, 5, 6} \]
- X=4: \[ {1, 2, 3, 4}, {5, 6} \]
- X=5: \[ {1, 2, 3, 4, 5}, {6} \]
- X=6: \[ {1, 2, 3, 4, 5, 6} \]
- 在 X=3, X=5 和 X=6 时,Bosky 的计划成功。
- 因此输出为 "3/6",化简后是 "1/2"。输出的结果必须为最简分数。
**本翻译由 AI 自动生成**