竞赛
考级
只买一种包装的,所以只要算出每种包装需要花的钱就可以了。 第一个想到的办法是模拟累加直到买到需要的数量 介绍一种实用的优化: 位运算 使用位运算来进行大幅度累加,是倍增的思想 i<<1i<<1i<<1 等同于 iii * 222
向上取整ceil()
空降坐标:CP002634 来源:NOIP2016 普及组 请看代码
一、题目核心(人话版) 你需要买 至少 n 支铅笔 只能选同一种包装买,不能混装、不能拆包 三种包装,每种有「每包铅笔数」和「每包价格」 求:买够至少 n 支,最少花多少钱 二、解题思路(一步到位) 对每一种包装,单独计算: 算需要买多少包: 如果 n 能被「每包数量」整除:包数 = n / 每包数量 如果不能整除:包数 = n / 每包数量 + 1(向上取整,多买一包凑够) 算这种包装的总花费 = 包数 × 每包价格 三种包装的总花费,取最小值就是答案
提交答案之后,这里将显示提交结果~