刷水题了。
A. New Year Candles
Vasily the Programmer loves romance, so this year he decided to illuminate his room with candles.
Vasily has a candles.When Vasily lights up a new candle, it first burns for an hour and then it goes out. Vasily is smart, so he can make b went out candles into a new candle. As a result, this new candle can be used like any other new candle.
Now Vasily wonders: for how many hours can his candles light up the room if he acts optimally well? Help him find this number.
Input
The single line contains two integers, a and b (1 ≤ a ≤ 1000; 2 ≤ b ≤ 1000).
Output
Print a single integer — the number of hours Vasily can light up the room for.
Examples
inputCopy
4 2
outputCopy
7
inputCopy
6 3
outputCopy
8
Note
Consider the first sample. For the first four hours Vasily lights up new candles, then he uses four burned out candles to make two new ones and lights them up. When these candles go out (stop burning), Vasily can make another candle. Overall, Vasily can light up the room for 7 hours.
有道翻译一下
程序员瓦西里喜欢浪漫,所以今年他决定用蜡烛照亮他的房间。
瓦西里有一支蜡烛。瓦西里点燃一根新蜡烛时,它先燃烧一小时,然后熄灭。瓦西里很聪明,所以他可以把b熄灭的蜡烛变成一支新的蜡烛。因此,这种新的蜡烛可以像其他任何新的蜡烛一样使用。
现在瓦西里想知道:如果他的行为最优,他的蜡烛能照亮房间几个小时?帮他找到这个号码。
考虑第一个示例。在最初的四个小时里,瓦西里点了几根新蜡烛,然后他用四根燃尽的蜡烛做了两根新蜡烛,并把它们点燃。当这些蜡烛熄灭(停止燃烧)时,瓦西里可以再做一支蜡烛。总的来说,Vasily可以点亮房间7个小时。
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d;
cin >> a >> b;
d = a;
while (d >= b)
{
c = d % b;
d = d / b;
a = a + d;
//c = d % b;这个地方真是毒瘤。。。然后我就把他放到上面了。
d = d + c;
}
cout << a << endl;
//system("pause");
return 0;
}