您的位置:首页 > 编程语言

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

2014-06-09 10:51 225 查看

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;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐