也是开始准备了(临时抱佛脚 buhsi)
题目链接码蹄集
小度最喜欢吃糖啦!!!
这天商店糖果促销,可给小度高兴坏了。
促销规则:一颗糖果有一张糖纸,pp 张糖纸可以换取一颗糖果。换出来糖果的包装纸当然也能再换糖果。
小度想吃 kk 颗糖果,他需要买多少颗糖?
格式
输入格式:
第一行一个整数 T(1≤T≤106)T(1≤T≤106) ,表示测试数据组数;
接下来TT行,每行两个整数 pi,ki(1≤pi≤109,0≤ki≤109)pi,ki(1≤pi≤109,0≤ki≤109) ,表示第 ii 次测试中, pipi 张糖纸换一颗糖,小度想吃 kiki 颗糖。
输出格式:
TT 行,每行一个整数表示需要买多少颗糖果。
样例 1
输入:
3 3 4 4 5 2 7
复制
输出:
3 4 4
分两种情况
1.p>=k 直接就输出k 根本换不了(但是好像没这个测试点)
2.若p<k:
输出 k-(k-1)/p
可以这样理解 首先 要知道总是会多一张包装纸(例如 p=3 k=4 刚刚好可以换,但换完后又多一张)那么换掉的糖的数量就是 (k-1)/p,这样就可以得到上述式子。
我的代码
#include<bits/stdc++.h>
using namespace std;
int t ,k,p;
int main( )
{
cin>>t;
while(t--)
{
cin>>k>>p;
if(k>=p) cout<<p<<endl;
else
{
cout<<p-(p-1)/k<<endl;
}
}
return 0;
}
1240

被折叠的 条评论
为什么被折叠?



