问题描述
你现在有n支香烟。香烟抽完后有香烟蒂头。k个香烟蒂头可以换一支新的香烟。(k > 1)现在一开始有n支香烟,问最多能抽多少支烟?只能利用你现有的烟,不能向别人借烟。
输入
一行,两个整数,n和k。两个整数均在longint范围之内,答案也在longint范围之内。
输出
输出只有一个数, 表示最多能抽多少支烟.
样例输入
4 3
样例输出
5
算法讨论
暴力模拟即可。
#include <cstdio>
using namespace std;
int n,k,s,l;
int main()
{
scanf("%d%d",&n,&k);
s=n; l=n;
while (n!=0)
{
n/=k;
s+=n;
if (n!=0)
n+=l-(n*k);
l=n;
}
printf("%d",s);
}

本文探讨了基于一定数量香烟及特定交换规则下能够获得的最大吸烟次数的问题。通过使用C++实现暴力模拟算法,有效地解决了该问题,并给出了具体实例。
4360

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



