给定t组询问,每次询问给出两个正整数n和k。
在每组询问中,你要找到尽可能少的不同的正整数,满足以下条件:
每个正整数在构成同一个数字时,都能用0~k次。
对于区间[1,n]里面的每一个数字,都能通过数字之间的组合而“构造”出来、
这里的“构造”特指求和。更正式地,你需要找到m个数字a1,a2,....,am,使得每个x∈[1,n],都能找到至少一组x=a1×y1+a2×y2+...+am×ym(0≤yi≤k)。
由于数字组合不唯一,请输出最少的数字个数m。
每个测试文件均包含多组测试数据。第一行输入一个整数T(1≤T≤105)代表数据组数,每组测试数据描述如下:
在一行上输入两个整数n(1≤n≤109)和k(1≤K≤109),其含义已在题目中说明。
对于每一组测试数据,在一行上输出一个整数,代表最少的满足条件的数字个数。
输入
3
1 1
3 2
5 2
输出
1
2
2
说明
对于第一组测试数据,我们最少需要1个数字,数字是1。此时有1=1。
对于第二组测试数据,我们最少需要2个数字,数字是1和2。
此时有⎩⎨⎧1=13=1+13=2+1
对于第三组测试数据,我们最少需要2个数字,数字是1和2。
此时有
$\begin{cases}1=1\\2=1+1\\3=2+1\\4=2+2\\5=2+2+1\end{cases}$
扫码备注加群即可,期待您的到来~
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.