零基础学C/C++182——墨汁

温馨提示:更多精彩内容请关注微信公众号zstu就业

小T擅长国画,特别崇拜以画马著称的国画大师徐悲鸿先生,所以小T也很喜欢画马,众所周知画马是需要很多墨汁的,为了节省支出,小T决定参加龙城近墨堂最近推出的以瓶换墨活动,本次活动为期三月,活动期间你可以用M个空墨汁瓶换取一瓶全新包装的墨汁(包装里面有一个瓶,瓶里装满了墨汁),为了方便叙述,下文一律将一瓶全新包装的墨汁简称为一瓶墨汁。近墨堂老板心地非常善良,即使你手头只差一个空瓶他也会换给你一瓶墨汁,条件是你必须在用完这瓶墨汁后将空瓶还给老板,但如果你差两个或两个以上空瓶则老板就不会换给你了。现在,小T手中有N瓶墨汁,请问他通过以瓶换墨最多能够用到多少瓶墨汁?
 

输入

仅有一行包含两个用空格隔开的自然数N和M,表示小T手中有N瓶墨汁,近墨堂的以瓶换墨活动规定用M个空墨汁瓶可以换一瓶墨汁。

输出

仅有一行包含一个自然数,表示小T最多能用到多少瓶墨汁。

样例输入 Copy

【样例输入1】
10 3
【样例输入2】
10 4

样例输出 Copy

【样例输出1】
15
【样例输出2】
13

提示

样例1中用3个空墨汁瓶可以换取一瓶墨汁,开始是有10瓶墨汁,他全部用完后拿其中的9个空瓶换3瓶墨汁,换来的3瓶用完后再拿这3个空瓶换1瓶墨汁,再用完后他拿最后2个空瓶去换1瓶墨汁,将这瓶用完后把空瓶还给老板即可,这样他一共可以用15瓶
【数据范围】
对于50%的数据满足 1<=N<=10 2<=M<=3
对于100%的数据满足 1<=N<=100 2<=M<=10

#include<stdio.h>
int main()
{
	int n,m,t,y;
	scanf("%d%d",&n,&m);
	t=n;
	while(n>=m)
	{
		y=n%m;
		t=(n-y)/m+t;
		n=n/m+y;
	}
	if(m-n==1)
	{
		t=t+1;
	}
	printf("%d\n",t);
	return 0;
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YYDGM1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值