编辑代码

#include <iostream>
#include <vector>
using namespace std;

vector<int> greedyCoinChange(int amount, vector<int>& coins) {
    vector<int> result;  // 存储最终找零的硬币组合
    for (int i = 0; i < coins.size(); i++) {  // 遍历硬币面额数组
        while (amount >= coins[i]) {  // 当金额大于等于当前硬币面额时,继续操作
            result.push_back(coins[i]);  // 将当前硬币加入找零组合中
            amount -= coins[i];          // 更新剩余金额
        }
    }
    return result;  // 返回最终找零的硬币组合
}

int main() {
    int amount = 126;                             // 待找零的金额
    vector<int> coins = {100, 50, 20, 10, 5, 1};  // 硬币面额数组,按降序排列
    vector<int> result =
        greedyCoinChange(amount, coins);
    cout << "结果: ";
    for (int coin : result) {  // 输出找零所需的硬币组合
        cout << coin << " ";
    }
    cout << endl;
    return 0;
}