当前位置:首页题目 > 正文

c++题目硬币组合

作者:野牛程序员:2023-09-18 14:45:00题目阅读 2626

给定一个包含不同硬币面额的钱包,例如 1 元、2 元、5 元,以及一个目标金额(例如 10 元),请列举出所有可能的硬币组合,使得它们的总金额等于目标金额。

#include <iostream>

int main() {
    int coinValues[] = {1, 2, 5}; // 不同硬币的面额
    int targetAmount = 10;      // 目标金额

    // 使用三个循环来尝试所有可能的硬币组合
    for (int coin1 = 0; coin1 <= targetAmount; coin1 += coinValues[0]) {
        for (int coin2 = 0; coin2 <= targetAmount; coin2 += coinValues[1]) {
            for (int coin3 = 0; coin3 <= targetAmount; coin3 += coinValues[2]) {
                int totalAmount = coin1 + coin2 + coin3;
                if (totalAmount == targetAmount) {
                    // 找到一个硬币组合,输出它
                    std::cout << "硬币组合: " << coin1 / coinValues[0] << "个1元硬币, " 
                              << coin2 / coinValues[1] << "个2元硬币, " 
                              << coin3 / coinValues[2] << "个5元硬币" << std::endl;
                }
            }
        }
    }

    return 0;
}


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击