贪心算法一直都知道,可是原来可以代码这么写还是第一次,原谅我心情有点小激动;
酷。。。
题目的大概意思就是找最少需要多少硬币,为方便操作,已经把操作的数据放于数组
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数组来控制可取的最少硬币数