#T557851. 带余数除法(b和r已知)

带余数除法(b和r已知)

题目描述

带余数除法:对于两个正整数b, a,如果b除以a的商为q,余数为r,我们可以写出带余数除法算式,b÷a = q……r。本题中,哪怕r=0,也要写出这个余数。

现在有一个带余数除法,然而你只知道被除数b和余数r,而并不知道除数a和商q。你想知道除数有多少种可能。

输入格式

本题有多组测试数据。输入的第一行为一个正整数T,表示数据组数。然后有T行,每行有一个正整数b和自然数r,分别表示带余数除法的被除数和商。测试数据保证r<b。

输出格式

对每组测试数据,输出一行,为一个自然数,表示除数的不同可能性数量。

输入输出样例 #1

输入 #1

2
10 2
1 0

输出 #1

2
1

输入输出样例 #2

输入 #2

10
447 0
22 1
21 1
23 1
319 11
318 11
320 11
493 29
492 29
494 29

输出 #2

4
3
5
3
7
1
2
4
1
4

说明/提示

数据规模与约定

对于前30%的数据,保证1≤b≤1000,0≤r≤1000。

另有20%的数据,保证r≤10510^5

对于全体数据,保证1≤T≤10,0≤r≤n≤10910^9

本题出处

本题源自以下教材的编程习题:王桂平, 周思益, 周迎川著. C++编程与信息学竞赛数学基础, 北京大学出版社, 2025年7月出版.