ACM cigarettes

OpenSoucre發表於2014-04-02

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

 

#include <iostream>
#include <cstdio>
using namespace std;
int main(){
    int n;
    cin >> n;
    for(int i = 0 ; i < n; ++ i){
        int m,k;
        cin >> m >> k;
        int res = 0;
        while(m/k){
            res += (m/k)*k;
            m = m%k+m/k;
        }
        res+=m;
        cout<< res<<endl;
    }
}