(找零问题)考虑用最少的硬币找n美分零钱的问题,假定每种硬币的面额都是整数。
a.设计贪心算法解决找零问题,假定有25美分,10美分,5美分和1美分4中面额的硬币。证明你的算法能找到最优解。
b.假定硬币面额是c的幂,即面额为c0,c1,...,ck,c和k是整数,c>1,
。证明:贪心算法总能得到最优解。
c.设计一组硬币面额,使得贪心算法不能保证得到最优解。这组硬币面额中应该包含1美分,使得对每个零钱值都存在找零方案。
d.设计一个O(nk)时间的找零算法,适用于任何k种不同面额的硬币,假定总是包含1美分硬币。