首页 > 其他 > 详细

POJ 2509 Peter's smokes(Peter的香烟)

时间:2021-02-24 23:49:21      阅读:42      评论:0      收藏:0      [点我收藏+]

POJ 2509 Peter的香烟

描述

Peter抽烟。他抽烟一个个地抽着烟头。从 k (k>1) 个烟头中,他可以抽一根新烟。
彼得可以抽几支烟?

输入

输入是一系列行。每行包含两个给出n和k值的整数。

输出

对于输入的每一行,在单独的行上输出一个整数,给出Peter可以拥有的最大香烟数量。

样本输入

4 3
10 3
100 5

样本输出

5
14
124

思路

输入n之后,判断n是否大于等于k,如果是,那么:

u = n / k;
n -= u * k;
s += u;
n += u;

直到n小于k

 技术分享图片

 

代码

#include <iostream>
using namespace std;
int main()
{
    int n,k,s=0,u;//定义n,k,总和和能抽的香烟数量
    while(cin>>n>>k){//当有输入时输入
        s=0;//初始化
        s+=n;//先把所有香烟抽完
        while(n>=k){//当剩下的烟可以换时
            u=n/k;//计算能换当个数
            n-=u*k;//把烟蒂换掉
            s+=u;//总和增加新抽的烟数
            n+=u;//增加烟蒂
        }
        cout<<s<<endl;//输出
    }
    return 0;
}

 

 

 

POJ 2509 Peter's smokes(Peter的香烟)

原文:https://www.cnblogs.com/xiaocaibiancheng/p/14443676.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!