南京林业大学“未来之星”第六届程序设计大赛(决赛)试题B 参考代码

B

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 124   Accepted Submission(s) : 19
Font: Times New Roman | Verdana | Georgia
Font Size: ← →

Problem Description

茆子做梦自己是个酒鬼。 可惜他又比较懒。 他身上一共只有M 元钱,他了解到商店啤酒的价格是 K 元钱每瓶,而且 N 个啤酒瓶可以到商店换取一瓶啤酒。茆子想知道用他身上的这些钱最多能喝多少瓶啤酒(假设钱不能和瓶子搭配换酒)。

Input

每行有三个整型数据 M ,K ,N ; 并且 1 ≤ M, K ≤ 1000 ,2 ≤ N ≤ 1000 。 当输入为 0 0 0 表示输入结束。(注意,请不要对最后一组数据进行处理)

Output

每行对应输出最多能喝的啤酒的瓶数。

Sample Input

12 2 3
16 1 4
0 0 0

Sample Output

8
21
 

Hint
提示:
对于第一个用例:  12/2 = 6 瓶,剩下的6个瓶子又可以兑换2瓶酒,此时,6+2 = 8 瓶酒,还剩下 2 个空瓶子,已不能再兑换了。

Author

mtttt 

参考源码
#include <iostream>
using namespace std;

int main()
{
	int M,N,K;
	while(cin >> M >> K >> N)
	{
		if (M==0&&N==0&&K==0)
		{
			break;
		}
		int a = M/K;
		int b = a/N;
		int s = a;
		while(b != 0)
		{
			s += b;
			b /= N;
		}
		cout << s << endl;

	}
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值