贪心算法之找硬币问题
题目: 假设有面值为5元、2元、1元、5角、2角、1角(折半查找排序)的货币,需要找给顾客4元6角现金,为使付出的货币的数量最少,如何付款?
贪心算法的思想: 只根据当前的信息就做出选择,不是从全局最优来考虑,而是考虑局部最优。
输入:4.6
输出:3
为什么输出不为4?
因为double类型,最后一次比较时0.1和0.1无法比较,所以输出为3.
#include<iostream>
double coin[6]={
5,2,1,0.5,
博客探讨了使用贪心算法解决找零问题的具体案例,例如寻找4元6角的最小货币组合。贪心策略是根据当前信息选择局部最优解,而非全局最优。由于double类型的精度问题,实际输出为3,而不是预期的4。
题目: 假设有面值为5元、2元、1元、5角、2角、1角(折半查找排序)的货币,需要找给顾客4元6角现金,为使付出的货币的数量最少,如何付款?
贪心算法的思想: 只根据当前的信息就做出选择,不是从全局最优来考虑,而是考虑局部最优。
输入:4.6
输出:3
为什么输出不为4?
因为double类型,最后一次比较时0.1和0.1无法比较,所以输出为3.
#include<iostream>
double coin[6]={
5,2,1,0.5,
480
7039
700
1038
8629

被折叠的 条评论
为什么被折叠?