硬币问题

贪心算法一直都知道,可是原来可以代码这么写还是第一次,原谅我心情有点小激动;

酷。。。

题目的大概意思就是找最少需要多少硬币,为方便操作,已经把操作的数据放于数组

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 int main()
 5 {
 6     int v[6] = { 1,5,10,50,100,500 };
 7     int c[6] = { 3,2,1,3,0,2 };
 8     int A;
 9     cin >> A;
10     int ans = 0;
11     for (int i = 5; i >= 0; i--)
12     {
13         int t = min(A / v[i], c[i]);
14         A -= t * v[i];
15         ans += t;
16     }
17     cout << ans << endl;
18     return 0;
19 }

//个人感觉最有价值的地方是合理使用的min函数与通过吧v和c数组来控制可取的最少硬币数

原文地址:https://www.cnblogs.com/kangdong/p/8732998.html