Description
你现在有n支香烟。香烟抽完后有香烟蒂头。k个香烟蒂头可以换一支新的香烟。(k > 1)现在一开始有n支香烟,问最多能抽多少支烟?只能利用你现有的烟,不能向别人借烟。
Input
一行,两个整数,n和k。两个整数均在longint范围之内,答案也在longint范围之内。
Output
输出只有一个数, 表示最多能抽多少支烟.
Sample Input
4 3
Sample Output
5
思路
水。。。。。。
程序
var
n,m,k,ans:longint;
begin
readln(n,k);
while n>=k do
begin
m:=n-(n mod k);
ans:=ans+m;
n:=n-m+m div k;
end;
inc(ans,n);
writeln(ans);
end.

本文探讨了一种香烟交换问题,即用k个香烟蒂头可以换一支新香烟的情况下,初始有n支香烟时能抽到的最大数量。通过逐步减少可用香烟数并增加已抽香烟数的方式,最终得出最优解。
258

被折叠的 条评论
为什么被折叠?



