题目描述
一座居民楼,楼中第一层有两间公寓,其他层每层有 $x$ 间公寓。
公寓从第一层开始,从 $1$ 开始依次编号。
也就是说,一层的公寓编号为 $1∼2$,二层的公寓编号为 $3∼x+2$,三层的公寓编号为 $x+3∼2x+2$,以此类推。
请问,$n$ 号公寓位于楼中的第几层。
居民楼的高度可视为无限高,也就是说,一定存在第 $n$ 号公寓。
输入格式
第一行包含整数 $T$,表示共有 $T$ 组测试数据。
每行包含两个整数 $n$,$x$。
输出格式
每组数据输出一行结果,表示第 $n$ 号公寓所在的层数。
数据范围
$1≤t≤1000$
$1≤n,x≤1000$
输入样例:
4
7 3
1 5
22 5
987 13
输出样例:
3
1
5
77
代码&思路
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double m,n,x;
cin>>m;
while(m--)
{
cin>>n>>x;
if(n<=2)
{
n=1;
}
else
{
n-=2;
n=ceil(n/x);//向上取整
n+=1;//楼层数+1
}
cout<<n<<endl;
}
return 0;
}