1. 问题背景:
找零钱一个小孩买了价值少于1美元的糖,并将1美元的钱交给售货员。售货员希望用数目最少的硬币找给小孩。假设提供了数目不限的面值为25美分、10美分、5美分、及1美分的硬币。售货员分步骤组成要找的零钱数,每次加入一个硬币。选择硬币时所采用的贪婪准则如下︰每一次选择应使零钱数尽量增大。为保证解法的可行性(即:所给的零钱等于要找的零钱数),所选择的硬币不应使零钱总数超过最终所需的数目。
2. 算法介绍:
(1)蛮力法:
以此题目为例,我们需要遍历四种币值的硬币来判断最优解是何种组合,因此时间复杂度为O(n4).
#include<iostream>
using namespace std;