一个简单的贪心问题,用c++解决 思路: 需要找零的钱从大面值的开始减,如果不够减就换小面值的钱继续减,知道剩下找零的钱减到零为止。
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
int rest = 1024 - n;
int nums = 0;
vector<int> money = { 64, 16, 4, 1 };
for (int i = 0; i < 4;) {
if (rest - money[i] < 0) {
i++;
continue;
}
else {
rest -= money[i];
nums++;
}
}
cout << nums << endl;
return 0;
}