一、题目
二、解题
1.题目
这个程序的目标是计算出给定数量的酱油需要的费用,并输出费用。
程序首先定义了一个整数变量n,用于存储输入的酱油数量。接着,程序定义了另一个整数变量ans,用于存储酱油的费用。
接下来程序开始对酱油数量进行分析:
- 如果酱油数量可以用50的倍数表示,那么将酱油数量除以50,并取整,得到的商乘以7即为所需费用,同时将酱油数量除以50的余数单独抽出来。
- 如果酱油数量无法被50整除,但可以被30整除,那么将酱油数量除以30,并取整,得到的商乘以4即为所需费用,同时将酱油数量除以30的余数单独抽出来。
- 如果酱油数量既不能被50整除,也不能被30整除,那么将酱油数量除以10,并取整,得到的商即为所需费用。
最后,程序将三个步骤得到的费用累加起来,输出结果。
2.代码
dev c++ 5.11
//打酱油 201709-1
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
int ans=0;
if(n/50){
ans+=((n/50)*7);
n%=50;
}
if(n/30){
ans+=((n/30)*4);
n%=30;
}
ans+=(n/10);
cout<<ans;
return 0;
}
3.提交结果
总结
1.解释
- 使用了贪心算法,优先买5瓶送2瓶,然后买3瓶送1瓶,最后再买单瓶。
n%=50;
取余计算剩余部分。