2018.01.27【GDOI2018】模拟C组—— 香烟

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值