南阳oj cigarettes

#include<iostream>
using namespace std;
int main ()
{
int t;
cin>>t;
while(t--)
{
int n,k;
cin>>n>>k;
int count=n;
while(n>=k)
{
int tmp=n;
n=n/k;
count=count+n;
n=n+tmp%k;
}
cout<<count<<endl;
}
return 0;
}

 

题目同样是英文

循环条件是当剩余香烟总数大于K

下一次循环的香烟总数是上一次香烟总数:n/k+k%k,而count每次是加n/k

 

posted @ 2018-07-25 12:46  换牙  阅读(64)  评论(0编辑  收藏  举报