P1909 [NOIP2016 普及组] 买铅笔 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
解题思路:
1.每种铅笔都有包装的数量和价钱两个属性,建立一个结构体变量存储
2.通过计算每种铅笔需要的数量(向上取整)然后乘价格,找最小值输出
代码如下:
#include<bits/stdc++.h>
using namespace std;
struct node{
int num;
int price;
}a[5];//建立每种铅笔的结构体
int main()
{
int n;
cin>>n;
for(int i=1;i<=3;i++)
cin>>a[i].num>>a[i].price;//输入每种铅笔的数量和价格
int min=99999999;
for(int i=1;i<=3;i++)
{
int xx=ceil(n*1.0/a[i].num);//计算所需这种铅笔的数量
if(xx*a[i].price<min)
min=xx*a[i].price;//取最小值
}
cout<<min;
return 0;
}