NOIP 提高组初赛 · NOIP 2009 提高组初赛试题 第 22 题

选择题 · 答案 35 · 考点:进制与编码

← 整套速查表 NOIP 提高组初赛 全部真题

题目

某个国家的钱币面值有 $1, 7, 7^2, 7^3$ 共计四种,如果要用现金付清 $10015$ 元的货物,假设买卖双方各种钱币的数量无限且允许找零,那么交易过程中至少需要流通_______张钱币。

答案:35

考点

进制与编码

解题思维

使用1,7,49,343四种面值支付10015元,允许找零。将10015转化为七进制表示,每位用平衡策略选择支付或找零使总张数最小,答案为35。

常见错误

容易直接做进制转换求各位数字和(得到37张),但需要考虑"允许找零"意味着可以进位优化。需要正确理解最大面值343对应的进制位限制。

详细解析(节选)

解题思路

方法:七进制与最优支付策略

四种面值:1, 7, 49, 343(即7^0, 7^1, 7^2, 7^3)

将10015转换为七进制:

所以10015的七进制表示为:4,1,1,2,5(从高到低) 即 4x7^4 + 1x7^3 + 1x7^2 + 2x7 + 5 = 9604 + 343 + 49 + 14 + 5 = 10015

注意:最大面值为343(7^3),更高位(7^4=2401)没有对应面值,需用343的组合表示。

直接支付

总张数 = 28 + 1 + 1 + 2 + 5 = 37张

允许找零优化

允许找零时,对于每位数字d可以选择:

对于每位,选择成本较小的方案,并考虑进位影响。

经优化后,总张数可从37张降至35张。

更一般的思路

该问题等价于:找一组整数xi,yi>=0,使得 sum(xi * 7^i) - sum(yi * 7^i) = 10015,且最小化 sum(xi + yi)。这是一个允许找零的整数线性组合优化问题。

由于只有4种面值,高位需要转化为低位面值的组合,最终通过贪心从低位到高位逐位决策得到最优解为35张。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断