cigarettes
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
2
描述
Tom has many cigarettes. We hypothesized that he has n cigarettes and smokes them
one by one keeping all the butts. Out of k > 1 butts he can roll a new cigarette.
Now,do you know how many cigarettes can Tom has?
-
输入
- First input is a single line,it's n and stands for there are n testdata.then there are n lines ,each line contains two integer numbers giving the values of n and k.
-
输出
- For each line of input, output one integer number on a separate line giving the maximum number of cigarettes that Peter can have.
-
样例输入
3
4 3
10 3
100 5
样例输出
5
14
124
import java.util.Scanner;
public class Main {
/**
* @param args
* z 为每次剩下的烟头
*/
public static int GetBack(int x,int z,int y,int sum){
sum+=x;
z = (x+z);
if(z>=y){
return GetBack(z/y,z%y,y,sum);
}
return sum;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin = new Scanner(System.in);
int N = cin.nextInt();
int sum;
while(N-->0){
sum = 0;
int n = cin.nextInt();
int k = cin.nextInt();
System.out.println(GetBack(n,0,k,sum));
}
}
}