POJ2509(Water,Greedy)

2509:Peter's smokes

时间限制:

1000ms

内存限制:

65536kB

描述

Peter has n cigarettes. He smokes them one by one keeping all the butts. Out of k > 1(事实上吸过的烟超过>=k即可) butts he can roll a new cigarette.
How many cigarettes can Peter have?

输入

Input is a sequence of 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.

样例输入

4 3

10 3

100 5

样例输出

5

14

124

 

#include"iostream"
using namespace std;
int main()
{
 int n,k;
 int ans;
 while(cin>>n>>k)
 {
  ans=n;//初始化ans
  while(n>=k)
  {
   ans+=n/k;//更新ans
   n=n/k+n%k;//更新n
  }
  cout<<ans<<endl;
 }
}

原文地址:https://www.cnblogs.com/lzhitian/p/2140070.html