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?
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; } }
原文:http://www.cnblogs.com/xiongqiangcs/p/3641913.html