记录学习的点点滴滴
让我们先来看一下这道题
这个题乍一看可能很唬人,但实际上就是一个很简单的小学数学问题。
但是关键在于这个余数的写法。
一开始想的是通过if语句if(n%包装中笔的数量>0)分类讨论,但是这样就不好写,而且牵扯到一个四舍五入的问题。
在std::数据库中,有向上取整函数ceil,于是在这里采用了此方法。
此外排序部分直接使用sort().
具体上代码
#include<algorithm>
#include<cmath>
using namespace std;
int main() {
int n, a[3], b[3],x[3];
cin >> n;
for (int i=0; i < 3; i++)
{
cin >> a[i] >> b[i];
x[i] = ceil((n*1.0) / a[i])*b[i];
}//ceil直接向上取整,不用考虑四舍五入
sort(x, x + 3);//要排序的第一位地址与最后一位地址+1,默认由小到大输出
cout << x[0];
}