201709-1 | |
试题名称: | 打酱油 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 小明带着N元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。请问小明最多可以得到多少瓶酱油。 输入格式 输入的第一行包含一个整数N,表示小明可用于买酱油的钱数。N是10的整数倍,N不超过300。 输出格式 输出一个整数,表示小明最多可以得到多少瓶酱油。 样例输入 40 样例输出 5 样例说明 把40元分成30元和10元,分别买3瓶和1瓶,其中3瓶送1瓶,共得到5瓶。 样例输入 80 样例输出 11 样例说明 把80元分成30元和50元,分别买3瓶和5瓶,其中3瓶送1瓶,5瓶送2瓶,共得到11瓶。 |
CCF的第一题基本上都是没什么难度的,这题的话每次选择能达到的最优惠的买法,大于50块钱就买5瓶,大于30小于50就买3瓶,剩下的买一瓶一瓶的就好了
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int ans, n;
while (cin >> n) {
ans = 0;
while (n != 0) {
if (n >= 50) {
n -= 50;
ans += 7;
}
else if (n >= 30) {
n -= 30;
ans += 4;
}
else {
ans += n / 10;
n = 0;
}
}
cout << ans << endl;
}
return 0;
}