【JZOJ 1516】香烟

版权声明:嗯随意转载吧,注明出处就好 https://blog.csdn.net/Fallen_Angel001/article/details/79183650

问题描述
你现在有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);
}
阅读更多

没有更多推荐了,返回首页